Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅从重复的ArrayList中删除对象_Java_Iterator_Concurrentmodification - Fatal编程技术网

Java 仅从重复的ArrayList中删除对象

Java 仅从重复的ArrayList中删除对象,java,iterator,concurrentmodification,Java,Iterator,Concurrentmodification,我复制了一个ArrayList,如下所示: MyList2 = MyList1; 试图用MyList1拥有的对象加载MyList2的对象 现在,当我在MyList2中迭代时,我发现了it.remove()一些对象,但这会在通过MyList1的父迭代的其他地方导致并发修改异常。我想当我删除它时,它实际上也从原始的ArrayList中删除了它,如何只从MyList2中删除它?谢谢。您的问题是您尚未创建ArrayList的副本,对同一对象有两个引用。如果你想复制列表,那么你可以这样做 Collect

我复制了一个ArrayList,如下所示:

MyList2 = MyList1;
试图用MyList1拥有的对象加载MyList2的对象


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

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

Collections.copy(MyList2,MyList1);


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

Collections.copy(MyList2,MyList1);

谢谢,我使用了“MyList2=newArrayList(MyList1);”来正确地复制它。一切正常,不再存在并发异常。:)谢谢,我使用了“MyList2=newArrayList(MyList1);”来正确地复制它。一切正常,不再存在并发异常。:)