【问题标题】:Removing an object from the duplicate ArrayList only仅从重复的 ArrayList 中删除对象
【发布时间】:2011-11-24 11:32:56
【问题描述】:

我已经复制了一个 ArrayList:

MyList2 = MyList1;

试图用 MyList1 的对象加载 MyList2 的对象。

现在当我遍历 MyList2 时,我 it.remove() 一些对象,但这会导致在通过 MyList1 的父迭代的其他地方发生并发修改异常。我认为当我 it.remove() 它实际上也是从原始 ArrayList 中删除它时,如何仅从 MyList2 中删除它?谢谢。

【问题讨论】:

    标签: java iterator concurrentmodification


    【解决方案1】:

    您的问题是您还没有创建ArrayList 的副本,有两个对同一个对象的引用。如果你想复制列表,那么你可以这样做

    Collections.copy(MyList2,MyList1);
    

    MyList2 = new ArrayList(MyList1);
    

    【讨论】:

    • 感谢我使用了“MyList2 = new ArrayList(MyList1);”正确复制它。一切正常,不再有并发异常。 :)
    猜你喜欢
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    • 2016-07-08
    • 2013-12-24
    • 2015-08-25
    • 2017-08-02
    • 2015-12-22
    • 1970-01-01
    相关资源
    最近更新 更多