Java中List与数组之间的相互转换
发布人:shili8
发布时间:2025-02-27 14:54
阅读次数:0
**Java 中 List 与 数组 之间的相互转换**
在 Java 中,List 和 数组 是两种常见的集合类型。虽然它们看起来很不同,但实际上可以相互转换。这种转换对于开发人员来说非常有用,因为它可以方便地进行数据处理和操作。
**1. List 到数组的转换**
首先,我们来看看如何将 List 转换为数组。List 是一个接口,代表了一个可变大小的集合,而数组则是固定大小的集合。在 Java 中,可以使用 `toArray()` 方法将 List 转换为数组。
javaimport java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { // 创建一个List Listlist = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); // 将List转换为数组 String[] array = list.toArray(new String[0]); // 打印数组元素 for (String str : array) { System.out.println(str); } } }
在上面的代码中,我们首先创建了一个 List,然后使用 `toArray()` 方法将其转换为数组。注意,`toArray()` 方法的参数是 `new String[0]`,这意味着我们需要传入一个空数组作为参数,以便 `toArray()` 方法知道返回的数组应该是什么类型。
**2. 数组到List的转换**
接下来,我们来看看如何将数组转换为 List。同样,可以使用 `Arrays.asList()` 方法实现这一点。
javaimport java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { // 创建一个数组 String[] array = {"A", "B", "C"}; // 将数组转换为List Listlist = Arrays.asList(array); // 打印List元素 for (String str : list) { System.out.println(str); } } }
在上面的代码中,我们首先创建了一个数组,然后使用 `Arrays.asList()` 方法将其转换为 List。注意,`Arrays.asList()` 方法会返回一个固定大小的 List,即原数组的大小。
**3. 数组到List的追加**
有时,我们需要将一个数组追加到另一个 List 中。在这种情况下,可以使用 `addAll()` 方法实现这一点。
javaimport java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { // 创建两个List Listlist1 = new ArrayList<>(); list1.add("A"); list1.add("B"); List list2 = Arrays.asList("C", "D"); // 将list2追加到list1中 list1.addAll(list2); // 打印list1元素 for (String str : list1) { System.out.println(str); } } }
在上面的代码中,我们首先创建了两个 List,然后使用 `addAll()` 方法将一个 List 追加到另一个 List 中。
**4. List到数组的追加**
最后,我们来看看如何将一个 List 追加到另一个数组中。在这种情况下,可以使用 `Arrays.copyOf()` 和 `Arrays.copyOfRange()` 方法实现这一点。
javaimport java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { // 创建两个List Listlist1 = Arrays.asList("A", "B"); List list2 = Arrays.asList("C", "D"); // 将list2追加到list1中 String[] array = new String[list1.size() + list2.size()]; System.arraycopy(list1.toArray(),0, array,0, list1.size()); System.arraycopy(list2.toArray(),0, array, list1.size(), list2.size()); // 打印array元素 for (String str : array) { System.out.println(str); } } }
在上面的代码中,我们首先创建了两个 List,然后使用 `Arrays.copyOf()` 和 `Arrays.copyOfRange()` 方法将一个 List 追加到另一个数组中。
综上所述,List 和 数组 之间的相互转换是 Java 中非常有用的功能。通过使用 `toArray()`、`Arrays.asList()`、`addAll()` 和 `Arrays.copyOf()` 等方法,可以方便地进行数据处理和操作。