Java 建立新 集合_说说Java集合类–如何创建一个新的集合类

话说最近重新温习Thinking in java(4th)。顺便说一下,真的是需要莫大的勇气读完这么厚一本书啊。

目前看到持有对象这一章,说Java中的集合类的。想想自己也用Java有2年多了,这些基础也应该会比较简单。刚看两行,被一句话吸引了"Collection.addAll()方法运行起来要快得多"。遂抱着求证的心态写了一些测试用例(代码丑陋,勿喷)。

public void utilMethodTest(){

//通过Arrays.asList方法初始化一个list,并将这个list作为ArrayList的构造参数,构造一个ArrayList

long a=System.nanoTime();

Collection collection = new ArrayList(Arrays.asList(1,2,3,4,5));

System.out.println("\r
执行耗时 : "+(System.nanoTime()-a)+" 纳秒 ");

a=System.nanoTime();

Collection c = new ArrayList();

c.addAll(Arrays.asList(6,7,8,9,10));

System.out.println("\r
执行耗时 : "+(System.nanoTime()-a)+" 纳秒 ");

a=System.nanoTime();

Collection c2 = new ArrayList();

Collections.addAll(c2, 11,12,13,14,15);

System.out.println("\r
执行耗时 : "+(System.nanoTime()-a)+" 纳秒 ");

}

测试结果如下:

被测试方法

测试次数

执行时间(纳秒)

平均值(纳秒)

new Collection(Collection colection)

1

32080

35159.2

2

35501

3

42773

4

30796

5

34646

Collection.addAll()

1

11121

11634.2

2

11121

3

14115

4

10693

5

11121

Collections.addAll()

1

19248

19846.6

2

18392

3

22670

4

19248

5

19675

结果很直观,Collection.addAll()方法最快,而且执行时间上比较稳定。

所以,如果是创建一个已知序列的集合类示例,尽量通过Collection.addAll方法进行创建。

但是Collections.addAll方法参数更为灵活,而且创建速度也比较快。也不失为一个比较好的选择。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值