如何复制java.util.list集合

如何复制java.util.list集合,第1张

如何复制java.util.list集合

您可以使用先前列表的输入来创建新列表,如下所示:

List one = new ArrayList()//... add data, sort, etcList two = new ArrayList(one);

这将使您可以独立于第一个列表修改顺序或包含哪些元素。

请记住,尽管两个列表将包含相同的对象,所以如果您在列表2中修改一个对象,则将在列表1中修改相同的对象。

例:

MyObject value1 = one.get(0);MyObject value2 = two.get(0);value1 == value2 //truevalue1.setName("hello");value2.getName(); //returns "hello"

编辑

为了避免这种情况,您需要像这样的列表中每个元素的深层副本:

List<Torero> one = new ArrayList<Torero>();//add elementsList<Torero> two = new Arraylist<Torero>();for(Torero t : one){    Torero copy = deepCopy(t);    two.add(copy);}

复制如下:

public Torero deepCopy(Torero input){    Torero copy = new Torero();    copy.setValue(input.getValue());//.. copy primitives, deep copy objects again    return copy;}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5142673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存