如何在Java中将ArrayList转换为数组?
ArrayList 提供两种方法将其转换为数组。
方法一
Object[] toArray()
返回一个数组,其中包含此列表中所有元素的正确顺序(从第一个元素到最后一个元素)。
方法二
<T> T[] toArray(T[] a)
返回一个数组,其中包含此列表中所有元素的正确顺序(从第一个元素到最后一个元素);返回数组的运行时类型与指定的数组相同。如果列表适合指定的数组,则返回该数组。否则,将分配一个具有指定数组运行时类型和此列表大小的新数组。
类型参数
T − 包含集合的数组的运行时类型。
参数
a − 将此列表的元素存储到其中的数组,如果它足够大;否则,将为此目的分配一个相同运行时类型的新数组。
返回值
包含此列表元素的数组。
抛出异常
ArrayStoreException − 如果指定数组的运行时类型不是此列表中每个元素的运行时类型的超类型。
NullPointerException − 如果指定的数组为空。
示例
以下示例演示了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
广告