📜  从ArrayList到Java的Array数组转换:toArray()方法(1)

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

从ArrayList到Java的Array数组转换:toArray()方法

在Java编程中,ArrayList作为一种常见数据类型,经常用来存储一组数据。但是,在某些情况下,我们需要将ArrayList转换为Java的Array数组。这时,就可以使用toArray()方法。

toArray()方法的使用
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("apple");
arrayList.add("banana");
arrayList.add("orange");
String[] array = arrayList.toArray(new String[0]);

以上代码演示了如何将一个字符串类型的ArrayList转换为一个字符串类型的Array数组。

接下来,我们来详细解释一下toArray()方法的使用方式。

toArray()方法的定义如下:

public Object[] toArray()

该方法返回一个包含此列表中所有元素的数组。返回数组将是对象数组(Object[])。

我们也可以使用重载的toArray()方法来指定目标类型。

public <T> T[] toArray(T[] a)

当我们传入的数组a的长度>=此列表中的元素数量时,toArray()方法将把列表中的元素存储在此数组中。否则,toArray()方法将创建一个新的数组并将列表中的元素存储在其中。

我们还需要注意的是,要将ArrayList转换为基本类型的数组,例如int[],我们需要使用Java的自动装箱和拆箱机制。

转换示例

下面,我们来演示一些例子。

将整数类型的ArrayList转换为整数类型的Array数组
ArrayList<Integer> arrayList = new ArrayList<>();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
Integer[] array = arrayList.toArray(new Integer[0]);
将整数类型的ArrayList转换为整数类型的基本数据类型数组
ArrayList<Integer> arrayList = new ArrayList<>();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
int[] array = arrayList.stream().mapToInt(i -> i).toArray();

在这个例子中,我们使用了Java 8的方法引用(method reference)来将Integer类型的元素映射到int类型的元素中。最后,我们使用流(stream)操作将转换后的元素存储在int[]数组中。

总结

toArray()方法可以将ArrayList转换为Java的Array数组。我们可以使用toArray()方法的不同重载版本,根据具体的需求来指定目标类型和数组长度。同时,我们需要注意基本数据类型的自动装箱和拆箱机制。