您的位置:

Java中javalist.toarray的使用方法

一、概述

java.util.List是Java中常用的数据结构之一,它可以存储任意类型的对象。而java.util.ArrayListList接口的一个实现类,它使用数组来存储元素,支持动态扩容。在这篇文章中,我们将介绍java.util.ArrayList中的toArray()toArray(T[] a)方法,它们可以将一个ArrayList对象转换成数组。

二、toArray()方法

toArray()方法返回一个包含该列表所有元素的数组。返回数组的运行时类型是Object[]。可以使用以下方式将其转换为适当的类型:

List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
Object[] arr = list.toArray();
String[] strArr = Arrays.copyOf(arr, arr.length, String[].class);

调用Arrays.copyOf方法将Object[]转换为String[]数组。

三、toArray(T[] a)方法

toArray(T[] a)方法返回一个包含该列表所有元素的数组,其运行时类型是指定数组的类型。假设a数组足够大来包含列表中的所有元素,则将元素复制到该数组中。否则,将根据指定数组的运行时类型和此列表的大小分配一个新数组。如果指定的数组为空,则返回一个具有运行时类型T[]的新数组。如果指定的数组长度小于列表大小,则返回一个新数组,其运行时类型是指定数组的类型,长度与该列表相同。

List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
String[] strArray = new String[2];
strArray = list.toArray(strArray);

在这里,我们创建一个大小为2的String数组,并在调用toArray方法时将其传递给它。如果传递的数组足够大,则将元素存储在该数组中,否则将创建一个新数组,并将元素存储在其中。

四、总结

使用toArray()toArray(T[] a)方法可以将ArrayList对象转换为数组。toArray()方法返回一个Object[]数组,需要将其强制转换为适当的类型。toArray(T[] a)方法则返回一个指定类型的数组,如果传入的数组足够大,则将元素存储在该数组中,否则将创建一个新数组。

以下是完整的代码示例:

List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");

Object[] arr = list.toArray();
String[] strArr = Arrays.copyOf(arr, arr.length, String[].class);

String[] strArray = new String[2];
strArray = list.toArray(strArray);