📅  最后修改于: 2023-12-03 15:31:49.607000             🧑  作者: Mango
在Java中,AbstractCollection
是Java集合框架中的一个抽象类,它实现了Collection
接口中的大部分方法,并且提供了一些抽象方法让子类来实现。
其中,toArray()
方法就是AbstractCollection
提供的方法之一。下面就来介绍一下这个方法的具体用法以及示例。
toArray()
方法的作用是将集合转化成数组。它有两种形式:
Object[] toArray();
<T> T[] toArray(T[] a);
第一种形式返回一个包含集合中所有元素的 Object 数组,按照集合的迭代器所返回的顺序排列。如果集合的大小在调用toArray()
方法之后发生了改变,那么返回的数组的内容也就不确定了。
第二种形式则返回一个包含集合中所有元素的类型为 T 的数组。如果指定的数组 a 够大,那么就将集合中的元素复制到 a 中,如果指定的数组 a 不够大,那么就新建一个类型为 a 的数组并将集合中的元素复制到这个数组中。
下面是一个使用toArray()
方法将集合转化成数组的示例:
import java.util.*;
public class CollectionToArrayExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("cherry");
// 使用 toArray() 方法将集合转换成数组
Object[] objects = list.toArray();
String[] strings = list.toArray(new String[0]);
System.out.println(Arrays.toString(objects));
System.out.println(Arrays.toString(strings));
}
}
该示例中定义了一个List
集合对象,将它的元素分别设置为"apple"、"banana"和"cherry"。然后使用toArray()
方法分别将集合转换成 Object 数组和 String 数组,并且将它们打印出来。
代码输出结果为:
[apple, banana, cherry]
[apple, banana, cherry]
从输出结果可以看出,两种形式的toArray()
方法都可以将集合转化成数组,并且数组的元素内容与集合相同。
AbstractCollection
中的toArray()
方法提供了将集合转化成数组的功能,使用起来非常方便。需要注意的是,为了确保程序效率及代码健壮性,建议在使用toArray()
方法时提供一个长度为 0 的数组作为参数来保证返回类型正确。