在Java中,集合(List 接口的实现类)提供了一个名为 toArray 的方法,用于将集合中的元素转换成数组。该方法有两个主要的重载形式,分别用于不同的情况。
toArray()重载方法1
java
<T> T[] toArray(T[] a)
这个方法将集合中的元素复制到一个指定类型的数组中,并返回该数组。如果指定的数组大小足够容纳集合中的所有元素,那么会将元素直接复制到指定数组中。如果指定的数组大小不足以容纳所有元素,会创建一个新的数组,并将元素复制到新数组中。
示例:
java
List<String> stringList = new ArrayList<>();
stringList.add("apple");
stringList.add("banana");
stringList.add("orange");
String[] stringArray = stringList.toArray(new String[0]);
toArray()重载方法2
java
Object[] toArray()
这个重载方法不接受参数,它将集合中的元素复制到一个新创建的 Object 类型数组中,并返回该数组。
java
List<Integer> intList = new ArrayList<>();
intList.add(1);
intList.add(2);
intList.add(3);
Object[] intArray = intList.toArray();
需要注意的是,toArray 方法返回的是一个对象数组,而不是原始的基本数据类型数组。如果需要将集合中的基本数据类型元素转换成数组,可以使用 Java 8 中引入的 stream() 方法和 toArray() 方法的结合。
示例:
java
List<Integer> intList = new ArrayList<>();
intList.add(1);
intList.add(2);
intList.add(3);
int[] primitiveIntArray = intList.stream()
.mapToInt(Integer::intValue)
.toArray();
总之,toArray 方法是将集合中元素转换成数组的一种便捷方式,有助于在集合和数组之间进行数据转换。