JAVA中初始化ArrayList的三种方式

  下面讲一下ArrayList初始化的几种不同方式。

一、最常用的初始化方式。

1     List<String> list1 = new ArrayList<String>();
2     list1.add("apple");
3     list1.add("banana");
4     list1.add("orange");

  这是比较常用的方式,先创建一个list1,再给list1赋值。

二、使用一个List来初始化。

1     List<String> list2 = new ArrayList<String>(Arrays.asList("apple", "banana", "orange"));

  这种方式跟第一种方式有点相似,只是在创建list2的时候,直接提供了一个List的值来初始化就可以,使用起来还是比较方便的。这个方法其实就可以根据自己需要进行变化,比如我需要一个固定值来初始化list2,如下:

1     List<String> list3 = new ArrayList<String>(Collections.nCopies(2, "orange"));

  这个例子,是通过nCopies方法创建拥有2个“orange”值的List,提供给list3进行初始化。

三、使用匿名内部类来初始化。

1     List<String> list4 = new ArrayList<String>() {
2         {
3             add("apple");
4             add("banana");
5             add("orange");
6         }
7     }; 

  这里使用了匿名内部类的方式来初始化list4。这里有两层大括号,外层括号建立了一个ArrayList的匿名子类,内层括号定义了一个该匿名子类的构造块(构造对象时会自动执行的代码块)。

猜你喜欢

转载自www.cnblogs.com/pcheng/p/9897596.html