一、使用Arrays.asList()
Java中提供了一个Arrays.asList()方法来将数组转换为List集合,使用起来非常方便。下面是示例代码:
String[] array = {"Tom","Jerry","Mary"}; List<String> list = Arrays.asList(array);
使用Arrays.asList()方法转换后,得到的List集合是一个长度不可变的集合,不能使用add()、remove()等修改集合长度的方法,否则会发生UnsupportedOperationException异常。
需要注意的是,这里返回的List集合并不是java.util.ArrayList类的实例,而是一个私有的静态类Arrays.ArrayList实例,它并没有实现集合的修改方法。
二、使用Collections.addAll()
另外一种将数组转为List的方法是使用Collections.addAll()方法。这个方法仅适用于将数组添加到一个已经存在的List中。下面是示例代码:
String[] array = {"Tom","Jerry","Mary"}; List<String> list = new ArrayList<>(); Collections.addAll(list, array);
这个方法最终返回的List集合是一个可变长度的java.util.ArrayList实例,可以使用add()、remove()等修改集合长度的方法。
三、Java8语法:使用Stream API
Java8增加了Stream API,提供了更加流畅的集合操作方式。使用Stream API也可以将数组转化为List,下面是示例代码:
String[] array = {"Tom","Jerry","Mary"}; List<String> list = Stream.of(array).collect(Collectors.toList());
该方法使用了Stream.of()来将数组转换成流,然后使用collect(Collectors.toList())来转换为List集合。
四、代码示例
import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class ArrayToListDemo { public static void main(String[] args) { //使用Arrays.asList()方法 String[] array1 = {"Tom","Jerry","Mary"}; List<String> list1 = Arrays.asList(array1); //使用Collections.addAll()方法 String[] array2 = {"Tom","Jerry","Mary"}; List<String> list2 = new ArrayList<>(); Collections.addAll(list2, array2); //使用Stream API String[] array3 = {"Tom","Jerry","Mary"}; List<String> list3 = Stream.of(array3).collect(Collectors.toList()); } }
原创文章,作者:JURL,如若转载,请注明出处:https://www.506064.com/n/148234.html