Java创建初始化List集合的几种方式

1.常规操作

List<Integer> list=new ArrayList<>();
	list.add(1);
	list.add(2);
	list.add(3);

2.Arrays工具类(不可变)

List<Integer> list1= Arrays.asList(1,2,3);

asList是Arrays的静态方法。这种方式构造的List是固定长度的,如果调用add方法增加新的元素,会报异常java.lang.UnsupportedOperationException。适用于构造静态不变的List.

但是可以通过ArrayList进行包装成动态。

List<Integer> list2=new ArrayList<>(Arrays.asList(1,2,3));
	list2.add(4);

3.JDK8引入的Stream提供的方法

List<Integer> list3 = Stream.of(1, 2, 3).collect(toList());

4.Collections工具类(不可变)

List<Integer> list4 = Collections.nCopies(5, 1);

复制某元素N遍
也可通过ArrayList进行包装

List<Integer> list5 = new ArrayList<>(Collections.nCopies(5, 1));
	list5.add(2);

5.匿名内部类

List<Integer> list6 = new ArrayList() {{
	add(1);
	add(2);
	add(3);
}};
	 list6.add(4);

6.JDK9引入的 Lists

List<Integer> list7 = Lists.newArrayList(1, 2, 3);
	list7.add(4);

7.使用 guava包的Lists

使用方法同上,提出这种方法主要是很多项目还是java8,没法直接用java9的Lists。

List<Integer> list8 = Lists.newArrayList(1, 2, 3);
	list8.add(4);

8JDK9引入 List.of (不可变)

 List<Integer> list9 = List.of(1,2,3);

你可能感兴趣的:(Java基础,java)