Java 如何将ArrayList转换为数组
ArrayList提供了两种方法将其转换为数组。
方法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