将Java中的字符串ArrayList转换为字符串数组
在Java中,众所周知ArrayList类派生自List接口。在这里,我们给出了一个字符串ArrayList,并将其转换为字符串数组的任务。
说明:
输入: ArrayList = [ “Geeks”, “for”, “Geeks” ]
输出: String[] = {“Geeks”, “for”, “Geeks”}
输入: ArrayList = [ “Jupiter”, “Saturn”, “Uranus”, “Neptune”, “Sun”]
输出: String[] = {“Jupiter”, “Saturn”, “Uranus”, “Neptune”, “Sun”}
方法:
- 使用ArrayList类的get()方法
- 使用ArrayList类的toArray()方法
- 使用Arrays类的copyOf()方法
方法1:使用ArrayList类的get()方法
语法:
str[j] = a1.get(j)
方法:
- 获取字符串的ArrayList。
- 使用size()方法查找ArrayList的大小,并创建一个具有相同大小的String数组。
- 逐个获取ArrayList的每个元素使用get()方法。
- 使用赋值(=)运算符将每个元素分配到String数组中。
- 打印字符串数组。
例子:
// Java Program to Convert ArrayList to Array
// using toArray() Method
// Importing required classes
import java.util.ArrayList;
import java.util.Arrays;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty ArrayList of string type
ArrayList<String> al = new ArrayList<String>();
// Populating the ArrayList by custom elements
al.add("Anshul Aggarwal");
al.add("Mayank Solanki");
al.add("Abhishek Kelenia");
al.add("Vivek Gupta");
String[] str = new String[al.size()];
for (int i = 0; i < al.size(); i++) {
str[i] = al.get(i);
}
// Printing using for each loop
for (String k : str) {
System.out.println(k);
}
}
}
输出
Anshul Aggarwal
Mayank Solanki
Abhishek Kelenia
Vivek Gupta
方法2:使用ArrayList类的toArray()方法
在这里,我们将创建一个对象数组来存储从ArrayList接收的元素,通过创建字符串数组将其转换为所需类型。
语法:
Object[] arr = a1.toArray()
String str = (String)obj;
方法:
- 获取字符串的ArrayList。
- 使用toArray()方法将ArrayList转换为对象数组。
- 迭代并使用类型转换将每个元素转换为所需类型。在这里,它被转换为String类型,并添加到字符串数组中。
- 打印字符串数组。
例子:
// Java程序将ArrayList转换为Array
// 使用toArray()方法
//导入所需的类
import java.util.*;
//主类
class GFG {
//主驱动方法
public static void main(String[] args)
{
//创建一个空的字符串类型的ArrayList
ArrayList<String> al = new ArrayList<String>();
//通过自定义元素填充ArrayList
al.add("Anshul Aggarwal");
al.add("Mayank Solanki");
al.add("Abhishek Kelenia");
al.add("Vivek Gupta");
//使用toArray()方法将上面的列表转换为数组
//并将其存储在一个字符串数组中
String k[] = al.toArray(new String[al.size()]);
//遍历上面的字符串数组
for (String str : k) {
//打印以上数组中的元素
System.out.println(str);
}
}
}
输出
Anshul Aggarwal
Mayank Solanki
Abhishek Kelenia
Vivek Gupta
方法3:使用 copyOf() 方法的Arrays类
语法:
Object[] gfg = a1.toArray()
String[] str = Arrays.copyOf(gfg, gfg.length, String[].class);
方法:
- 获得String的ArrayList。
- 使用toArray()方法将ArrayList转换为对象数组。
- 使用Arrays.copyOf()方法将其转换为字符串数组。
- 打印字符串数组。
例子:
// Java程序将ArrayList转换为Array
// 使用toArray()方法
//导入所需的类
import java.util.*;
//主类
class GFG {
//主驱动方法
public static void main(String[] args)
{
//创建一个空的字符串类型的ArrayList
ArrayList<String> al = new ArrayList<String>();
//通过自定义元素填充ArrayList
al.add("Anshul Aggarwal");
al.add("Mayank Solanki");
al.add("Abhishek Kelenia");
al.add("Vivek Gupta");
String[] answer = Arrays.copyOf(
al.toArray(), al.size(), String[].class);
System.out.println(Arrays.toString(answer));
}
}
输出
[Anshul Aggarwal, Mayank Solanki, Abhishek Kelenia, Vivek Gupta]