当我们想要创建一个ArrayList 并进行初始化,放入一些数据。
直接创建空list并依次add比较慢,可以用如下方法快速创建。
1、从元素创建List:
如下方式创建一个不可变List,得到的list不能add。
Arrays.asList(1,2)
List.of(1,2,3)
创建可变List:
List<Integer> list = Stream.of(1,2).collect(Collectors.toList());
List<Integer> s = new ArrayList();
Collections.addAll(s,"1","2","3");
2、从数组创建List:
下面的代码会得到不可变list,且要求元素不是基本类型数组:(不推荐)
List<Integer> list = Arrays.asList(strArr)
List.of(strArr)
创建可变List:
List<Integer> list = Stream.of(intArr).collect(Collectors.toList());
List<Integer> s = new ArrayList();
Collections.addAll(s,arr);
3、不可变List改为可变List
如果用上述方法得到了一个不可变list,可以用如下方法复制一份可变list:
List<Integer> list = new ArrayList(oldList)