您的位置:

Java数组转List的方法

一、使用Arrays.asList()方法

Java中可以使用Arrays类提供的asList()方法将数组转换为List。

Integer[] array = {1, 2, 3, 4, 5};
List<Integer> list = Arrays.asList(array);

转换后的List不可变,因为asList方法返回的是Arrays类内部定义的一个列表类,而不是java.util.ArrayList类。所以,如果我们尝试使用add()和remove()方法修改转换后的List,则会抛出UnsupportedOperationException异常。

二、使用Collections.addAll()方法

Collections类提供了一个addAll()方法,该方法可以将数组中的元素添加到List中。

String[] array = {"one", "two", "three", "four", "five"};
List<String> list = new ArrayList<>();
Collections.addAll(list, array);

转换后的List可以进行修改操作,因为是一个java.util.ArrayList类对象。

三、手动遍历数组

可以使用循环遍历数组中的元素,并使用List的add()方法将每个元素添加到List中。

Double[] array = {1.1, 2.2, 3.3, 4.4, 5.5};
List<Double> list = new ArrayList<>();
for (Double element : array) {
    list.add(element);
}

四、使用Java 8 Stream API

Java 8 Stream API提供了一个stream()方法,可以将数组转换为Stream对象,并使用collect()方法将Stream对象转换为List。

Character[] array = {'a', 'b', 'c', 'd', 'e'};
List<Character> list = Arrays.stream(array)
        .collect(Collectors.toList());

转换后的List也可以进行修改操作。

五、使用Guava库

Guava库是Google公司提供的一个Java开发工具包,其中包含了将数组转换为List的方法。

Long[] array = {1L, 2L, 3L, 4L, 5L};
List<Long> list = Lists.newArrayList(array);

转换后的List可以进行修改操作。

六、使用Java 11新增的Arrays类方法

Java 11新增的Arrays类提供了一个newList()方法,可以将数组转换为List。

Boolean[] array = {true, false, true, false, true};
List<Boolean> list = Arrays.asList(array).newList();

转换后的List可以进行修改操作。