首页 > 编程语言 > 详细

Java - 复制ArrayList

时间:2015-08-13 06:39:53      阅读:304      评论:0      收藏:0      [点我收藏+]

有时候当我们需要复制ArrayList时,最快的方法是新建一个实例,其实每个Collection类都有一个对应的通过自己复制的构造方法。clone()方法本身是有缺陷的,不推荐使用。推荐的做法如下:

List<Double> original = // some list
List<Double> copy = new ArrayList<Double>(original);

这个问题是在做HBase项目时发现的,当Scanner获得下一个结果时,如果直接将结果add进结果集并重用ArrayList的话,最后结果集里面的内容将会是最后一个结果的重复。

修改后的代码:

List<Cell> curVals = new ArrayList<Cell>();
List<List<Cell>> results = new ArrayList<List<Cell>>();
boolean finish = false;
do {
    curVals.clear();
    finish = scanner.next(curVals);
    List<Cell> tmp = new ArrayList<Cell>(curVals); // 复制中间结果 
    results.add(tmp);
} while (finish);

文章原文链接:http://stackoverflow.com/questions/715650/how-to-clone-arraylist-and-also-clone-its-contents

Java - 复制ArrayList

原文:http://my.oschina.net/LinJeffrey/blog/491663

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!