一、使用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
微信扫一扫
支付宝扫一扫