您的位置:

Java中如何将数组转换为List?

一、直接使用Arrays.asList()方法

通过Arrays.asList()方法可以非常方便地将数组转换为List。

下面是一个简单的示例:

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

需要注意的是,使用Arrays.asList()方法转换出来的List是不能进行添加或删除操作的,因为它的底层是由数组支撑的,大小是固定的。

如果需要进行添加或删除操作,可以使用ArrayList等其他类型的List。

二、使用Collections.addAll()方法

除了直接使用Arrays.asList()方法以外,还可以使用Collections.addAll()方法,将数组中的元素添加到一个已有的List中。

下面是一个示例:

int[] array = {1, 2, 3};
List<Integer> list = new ArrayList<>();
Collections.addAll(list, array);

三、使用循环逐个添加元素

如果不想使用Arrays.asList()方法或者Collections.addAll()方法,也可以通过循环逐个添加元素的方式将数组转换为List。

下面是一个示例:

int[] array = {1, 2, 3};
List<Integer> list = new ArrayList<>();
for(int i : array){
    list.add(i);
}

需要注意的是,使用循环逐个添加元素的方式,可能会对性能产生一定影响,因为每次添加都需要调用一次add()方法。

四、使用Java 8的Stream API

在Java 8中,可以使用Stream API将数组转换为List。

下面是一个示例:

int[] array = {1, 2, 3};
List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList());

需要注意的是,Arrays.stream()方法返回一个IntStream对象,需要使用boxed()方法将其转换为一个Stream<Integer>对象。

然后使用collect()方法将Stream转换为List。

五、总结

通过以上几种方式,可以将一个数组转换为List。其中,直接使用Arrays.asList()方法最为简便,但是需要注意该List不支持添加或删除操作。如果需要进行添加或删除操作,可以使用其他类型的List。而使用Stream API也是一种比较新颖的方式,需要注意的是,Arrays.stream()方法返回的是IntStream类型,需要转换为Stream<Integer>类型。