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 List list = 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 List list = 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 List list1 = 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 List list1 = 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()` 等方法,可以方便地进行数据处理和操作。

