Java 如何将列表转换为数组
List提供了两种将列表转换为数组的方法。
方法1
Object[] toArray()
返回一个包含该列表中所有元素的数组,顺序正确(从第一个元素到最后一个元素)。
方法2
<T> T[] toArray(T[] a)
返回一个数组,其中包含列表中所有元素的正确顺序(从第一个到最后一个元素);返回数组的运行时类型与指定数组的类型相同。如果列表适应指定的数组,则将在其中返回列表。否则,将分配一个新数组,其运行时类型与指定数组相同,并且大小与该列表相同。
类型参数
- T - 包含集合的数组的运行时类型。
参数
- a - 如果足够大,将该列表的元素存储到其中的数组;否则,将为此目的分配一个相同运行时类型的新数组。
返回值
包含此列表元素的数组。
抛出异常
- ArrayStoreException - 如果指定数组的运行时类型不是此列表中每个元素的运行时类型的超类。
-
NullPointerException - 如果指定数组为null。
示例
以下是使用toArray()方法的示例:
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>(Arrays.asList("A","B","C", "D"));
System.out.println("List: " + list);
Object[] items = list.toArray();
for (Object object : items) {
System.out.print(object + " ");
}
System.out.println();
String[] characters = list.toArray(new String[list.size()]);
for (String string : characters) {
System.out.print(string + " ");
}
}
}
输出
这将产生以下结果 –
List: [A, B, C, D]
A B C D
A B C D