文
章
目
录
章
目
录
学习如何使用 toArray()
方法将 ArrayList 转换为数组。toArray()
方法返回一个包含列表中所有元素的数组 – 按顺序(从列表中的第一个元素到最后一个元素)。
//快速指南
ArrayList<String> list = ...;
Object[] array = list.toArray(); //1
String[] array = list.toArray(new String[list.size()]); //2
1.ArrayList toArray() API
toArray()
是一个重载的方法:
public Object[] toArray();
public <T> T[] toArray(T[] a);
- 第一个方法不接受任何参数,并返回
Object[]
。我们必须遍历数组以找到所需的元素,并将其转换为所需的类型。 - 在第二个方法中,返回的数组的运行时类型是指定数组的类型。如果列表适合于指定的数组,则会返回该数组。否则,将分配一个新数组,其运行时类型为指定数组的类型,大小为此列表的大小。填充了所有数组元素后,如果数组中还有剩余空间,则在所有这些空闲位置中填充 ‘null’。
2.ArrayList toArray() 示例
2.1. 使用 toArray() 方法
Java 程序将 ArrayList 转换为 Object[]
并遍历数组内容。
ArrayList<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
//转换为object 数组
Object[] array = list.toArray();
//迭代并转换为所需类型
for(Object o : array) {
String s = (String) o; //此强转是必需的
System.out.println(s);
}
输出:
A
B
C
D
2.2. 使用toArray(T[] a)方法
Java 程序将 ArrayList 转换为 String[]
。
ArrayList<String> list = new ArrayList<>(2);
list.add("A");
list.add("B");
list.add("C");
list.add("D");
String[] array = list.toArray(new String[list.size()]);
System.out.println(Arrays.toString(array)); // [A, B, C, D]