本文介绍了如何在Java中实现数组与List之间的相互转换,包括使用Arrays工具类和手动添加元素等方法。
在Java编程中,数组与List之间的转换是常见的操作需求之一。下面提供了一些使用Java 8特性的代码示例来演示如何实现数组转List、List转数组以及两者互转。
1. 数组到List的转换:
```java
import java.util.Arrays;
import java.util.List;
public class ArrayToListExample {
public static void main(String[] args) {
String[] array = {a, b, c};
// 使用Arrays.asList()方法将数组转换为列表,但注意返回值是固定大小的List实现
List list1 = Arrays.asList(array);
// 如果需要一个可修改的ArrayList实例,则使用以下方式:
List list2 = new ArrayList<>(Arrays.asList(array));
}
}
```
2. List到数组的转换:
```java
import java.util.Arrays;
import java.util.List;
public class ListToArrayExample {
public static void main(String[] args) {
List numbers = Arrays.asList(1, 2, 3);
// 使用List.toArray()方法将列表元素转为指定类型的数组,需提供一个类型匹配的空数组作为参数
Integer[] array = new Integer[numbers.size()];
numbers.toArray(array);
// 或者直接使用Arrays类中的copyOfRange()或copyOf()方法进行转换:
String[] stringsArray = Arrays.copyOf(stringsList, stringsList.size());
}
}
```
3. List与数组互转的完整示例:
```java
import java.util.Arrays;
import java.util.List;
public class ArrayAndListConversion {
public static void main(String[] args) {
// 数组转换为列表
String[] array = {apple, banana};
List listFromArray = Arrays.asList(array);
// 列表转换回数组
List numbersAsList = Arrays.asList(10, 20, 30);
Integer[] numbersAsArray = new Integer[numbersAsList.size()];
numbersAsList.toArray(numbersAsArray);
System.out.println(Converted from array: + listFromArray);
System.out.println(Back to array: + Arrays.toString(numbersAsArray));
}
}
```
以上代码示例展示了如何使用Java 8特性来进行数组和列表之间的转换。