将Array转为List:
- 使用
Arrays.asList()
,转化后的 List 不能add()
,否则会报java.lang.UnsupportedOperationException
,这是因为该方法转化的 ArrayList 是 Arrays 类的一个内部类,而不是java.util.ArrayList
- 使用 Stream 流的 collect 收集器
将List转Array:
- list.toArray()
- stream 流的 toArray()
Array 转 List
String[] arrays = {"aaa", "bbb", "ccc"};
// 方法一:Arrays.asList()
List<String> list = Arrays.asList(arrays);
// list.add("ddd"); java.lang.UnsupportedOperationException
list.forEach(s -> {
System.out.println(s);
});
// 方法二:使用 Stream 的 collect 收集器
List<String> collect = Stream.of(arrays).collect(Collectors.toList());
collect.add("ddd");
collect.forEach(c -> {
System.out.println(c);
});
List 转 Array
// 方法一:list.toArray()
String[] arrays = list.toArray(new String[list.size()]);
for(String s: arrays) {
System.out.println(s);
}
// 方法二:stream 流的 toArray()
String[] strs = list.stream().toArray(String[]::new);
for(String s: strs) {
System.out.println(s);
}
网友评论