java arraylist初始化_ArrayList 的九种常用创建和初始化方法

概述

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

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

list.add

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

ArrayList list = new ArrayList();

list.add("A");

list.add("B");

list.add("C");

双大括号初始化

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

ArrayList list = new ArrayList() {{

add("A");

add("B");

add("C");

}}

Arrays.asList & Collections.singletonList

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

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

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

List idList = Collections.singletonList(1001);

ImmutableList.of

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

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

自定义工厂方法

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

public static ArrayList createArrayList(String ... elements) {

ArrayList list = new ArrayList();

for (String element : elements) {

list.add(element);

}

return list;

}

....

ArrayList places = createArrayList("São Paulo", "Rio de Janeiro", "Brasília");

下面为他增加了泛型:

public static ArrayList createArrayList(T ... elements) {

ArrayList list = new ArrayList();

for (T element : elements) {

list.add(element);

}

return list;

}

创建 N 个相同元素副本的列表

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

ArrayList list = new ArrayList(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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值