Java - 添加到列表时的ConcurrentModificationException

时间:2013-05-01 13:08:32

标签: java

我正在尝试将项目添加到列表列表中。 partitionsLinkedList的{​​{1}}列表。我正在尝试将一个项添加到分区列表中某个分区的开头,但是我得到了Strings,即使我正在使用名为{{1}的列表的副本}。

有没有办法做到这一点?我可以找到的有关如何使用ConcurrentModificationException删除项目或添加项目的示例,但我无法使用partitionsCopy

在特定位置添加项目
ListIterator

partitionsCopy看起来像这样

ListIterator

这是我从jtahlborn的回答中得出的结论。

int index = 0;
for (List<String<?>> partition : partitions) {
    if (index > 0) {
        partitionsCopy.get( index ).add(0, lastPartition.get(lastPartition.size() - 1));
    }
    lastPartition = partition;
    index++;
}

1 个答案:

答案 0 :(得分:1)

你的问题不在于partitionsCopy,而在于 partitionsCopy(嵌套列表)中的,因为那是你实际上的列表修改。将partitions复制到partitionsCopy时,只复制对嵌套列表的引用。您复制嵌套列表本身。