ArrayList 的九种常用创建和初始化方法

2016-04-28 10:49:29   最后更新: 2016-04-28 10:49:29   访问数量:10595




此前我们介绍了 java 中的各种容器:

Collection 及其相关实现的容器简介及用法

本文我们介绍一下最常用的 Collection 容器 ArrayList 的初始化方法

 

最常用的方式是创建容器对象,然后将元素一个一个 add 进来:

ArrayList<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C");

 

 

与上面 list.add 的方法类似,在创建对象的时候,ArrayList 支持一种类似匿名内部类初始化方法:

ArrayList<String> list = new ArrayList<String>() {{ add("A"); add("B"); add("C"); }}

 

 

java7 以上版本可以使用 Arrays.asList 来创建一个 ArrayList:

List<String> places = Arrays.asList("Buenos Aires", "Córdoba", "La Plata");

 

 

如果只有一个元素,则可以使用 Collections.singletonList 来替代 Arrays.asList

List<Long> idList = Collections.singletonList(1001);

 

 

在 com.google.common.collect 包中提供了很多容器操作类,比如创建一个 ArrayList:

List<String> places = ImmutableList.of("Buenos Aires", "Córdoba", "La Plata");

 

 

为了这个需求,你也可以自己实现一个工厂方法:

public static ArrayList<String> createArrayList(String ... elements) { ArrayList<String> list = new ArrayList<String>(); for (String element : elements) { list.add(element); } return list; } .... ArrayList<String> places = createArrayList("São Paulo", "Rio de Janeiro", "Brasília");

 

 

下面为他增加了泛型:

public static <T> ArrayList<T> createArrayList(T ... elements) { ArrayList<T> list = new ArrayList<T>(); for (T element : elements) { list.add(element); } return list; }

 

 

下面的方法创建了一个 1000 个 Object 对象填充的 ArrayList:

ArrayList<Object> list = new ArrayList<Object>(Collections.nCopies(1000, new Object()));

 

 

Initialization of an ArrayList in one line -- http://stackoverflow.com/questions/1005073/initialization-of-an-arraylist-in-one-line

 

欢迎关注微信公众号,以技术为主,涉及历史、人文等多领域的学习与感悟,每周三到七篇推文,只有全部原创,只有干货没有鸡汤

 






技术帖      技术分享      array      容器      list      java      collection      arraylist      google     


京ICP备2021035038号