📌  相关文章
📜  Java程序将ArrayList转换为数组,反之亦然(1)

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

将ArrayList转换为数组,反之亦然

在Java中,ArrayList是一种可以动态增长的数组,而数组是一种固定大小的数据结构。有时候我们需要将ArrayList转换为数组,或者反过来。本文将介绍如何在Java中进行这两种转换操作。

将ArrayList转换为数组

要将ArrayList转换为数组,我们可以使用ArrayList的toArray()方法。该方法将ArrayList中的元素复制到一个新的数组中并返回该数组。

下面是一个示例程序:

import java.util.ArrayList;
import java.util.Arrays;

public class ArrayListToArrayExample {
    public static void main(String[] args) {
        // 创建一个包含5个元素的ArrayList
        ArrayList<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));

        // 使用toArray方法将ArrayList转换为数组
        Integer[] array = list.toArray(new Integer[0]);

        // 打印数组
        System.out.println(Arrays.toString(array));
    }
}

代码输出:

[1, 2, 3, 4, 5]

请注意,toArray()方法需要一个数组作为参数。如果传递一个空数组,将创建一个新数组来存储ArrayList中的元素。传递一个非空数组,将使用该数组来存储ArrayList中的元素。

将数组转换为ArrayList

要将数组转换为ArrayList,我们可以使用Arrays类提供的asList()方法。该方法将数组转换为一个包含指定元素的List。

下面是一个示例程序:

import java.util.ArrayList;
import java.util.Arrays;

public class ArrayToArrayListExample {
    public static void main(String[] args) {
        // 创建一个包含5个元素的数组
        Integer[] array = {1, 2, 3, 4, 5};

        // 使用asList方法将数组转换为ArrayList
        ArrayList<Integer> list = new ArrayList<>(Arrays.asList(array));

        // 打印ArrayList
        System.out.println(list);
    }
}

代码输出:

[1, 2, 3, 4, 5]

请注意,asList()方法返回的ArrayList实际上是Arrays类的内部类,并不是java.util.ArrayList。因此,该ArrayList的大小是固定的,不能添加或删除元素。如果我们需要动态添加或删除元素,请使用java.util.ArrayList。

总结

本文介绍了如何在Java中将ArrayList转换为数组,以及如何将数组转换为ArrayList。通过使用Java中提供的现成类库,我们可以轻松地进行这两种转换操作,方便我们的编程工作。