Java List 转数组详解

介绍

在 Java 编程中,我们经常会遇到将 List 转换为数组的情况。List 是 Java 集合框架中的一种数据结构,它是一个有序的集合,可以存储任意类型的元素。而数组是一种固定大小的数据结构,可以存储相同类型的元素。将 List 转换为数组可以方便地操作和处理数据。本文将详细介绍如何使用 Java 中的 List 和数组,以及如何将 List 转换为数组。

List 的基本概念

在 Java 中,List 是一种有序的集合,它可以存储任意类型的元素。List 是一个接口,它有多个实现类,包括 ArrayList、LinkedList、Vector 等。List 中的元素可以根据索引进行访问和操作。下面是一个使用 ArrayList 的示例代码:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");

        System.out.println(list.get(0)); // 输出 "Apple"
        System.out.println(list.get(1)); // 输出 "Banana"
        System.out.println(list.get(2)); // 输出 "Orange"
    }
}

上述代码创建了一个 ArrayList 对象,并向 List 中添加了三个元素。然后,通过索引访问元素并输出结果。

数组的基本概念

数组是一种固定大小的数据结构,可以存储相同类型的元素。数组的大小在创建时确定,并且不能动态改变。在 Java 中,数组可以存储基本类型和引用类型的数据。下面是一个使用 int 数组的示例代码:

public class ArrayExample {
    public static void main(String[] args) {
        int[] arr = new int[3];
        arr[0] = 1;
        arr[1] = 2;
        arr[2] = 3;

        System.out.println(arr[0]); // 输出 1
        System.out.println(arr[1]); // 输出 2
        System.out.println(arr[2]); // 输出 3
    }
}

上述代码创建了一个大小为 3 的 int 数组,并给数组的每个元素赋值。然后,通过索引访问元素并输出结果。

List 转数组的方法

在 Java 中,List 提供了多种方法将其转换为数组。下面介绍其中两种常用的方法。

方法一:使用 toArray 方法

List 接口提供了 toArray 方法,它可以将 List 转换为数组。该方法有两种重载形式:

  • T[] toArray(T[] a)

该方法将 List 转换为指定类型的数组。如果传递的数组 a 的大小足够容纳 List 的所有元素,则将 List 中的元素复制到数组中,并返回该数组。否则,将创建一个新数组,并将 List 中的元素复制到新数组中。

下面是一个使用 toArray 方法将 List 转换为数组的示例代码:

import java.util.ArrayList;
import java.util.List;

public class ListToArrayExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");

        String[] arr = new String[list.size()];
        arr = list.toArray(arr);

        for (String item : arr) {
            System.out.println(item);
        }
    }
}

上述代码将 List 转换为 String 类型的数组。首先,创建一个大小与 List 相同的 String 数组 arr。然后,使用 list.toArray(arr) 将 List 转换为数组,并将结果赋值给 arr。最后,使用 for-each 循环遍历数组并输出结果。

  • Object[] toArray()

该方法将 List 转换为 Object 类型的数组。它将 List 中的元素复制到新的 Object 数组中,并返回该数组。

下面是一个使用 toArray 方法将 List 转换为 Object 数组的示例代码:

import java.util.ArrayList;
import java.util.List;

public class ListToArrayExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange