📌  相关文章
📜  Java中的 AbstractCollection toArray() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:49.607000             🧑  作者: Mango

Java中的 AbstractCollection toArray() 方法及示例

在Java中,AbstractCollection是Java集合框架中的一个抽象类,它实现了Collection接口中的大部分方法,并且提供了一些抽象方法让子类来实现。

其中,toArray()方法就是AbstractCollection提供的方法之一。下面就来介绍一下这个方法的具体用法以及示例。

toArray() 方法简介

toArray()方法的作用是将集合转化成数组。它有两种形式:

Object[] toArray();
<T> T[] toArray(T[] a);

第一种形式返回一个包含集合中所有元素的 Object 数组,按照集合的迭代器所返回的顺序排列。如果集合的大小在调用toArray()方法之后发生了改变,那么返回的数组的内容也就不确定了。

第二种形式则返回一个包含集合中所有元素的类型为 T 的数组。如果指定的数组 a 够大,那么就将集合中的元素复制到 a 中,如果指定的数组 a 不够大,那么就新建一个类型为 a 的数组并将集合中的元素复制到这个数组中。

toArray() 方法的使用示例

下面是一个使用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 的数组作为参数来保证返回类型正确。