当我运行以下代码时:
import java.util.LinkedList;
class Tester {
public static void main(String args[]) {
LinkedList<String> list = new LinkedList<String>();
list.add(new String("suhail"));
list.add(new String("gupta"));
list.add(new String("ghazal"));
list.add(new String("poetry"));
list.add(new String("music"));
list.add(new String("art"));
try {
for(String s : list) {
list.add(0,"art");
list.remove(6);
System.out.println(list);
}
}catch(Exception exc) {
exc.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到一个例外,说:
java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
at java.util.LinkedList$ListItr.next(Unknown Source)
at Tester.main(Tester.java:14)
Run Code Online (Sandbox Code Playgroud)
为什么我得到这个例外?
编辑:tmpList是一个LinkedList,其每个节点都包含DepConfAttr类型的对象.我在内存(最高内存优先)的基础上对tmpList进行排序,这是DepConfAttr对象的属性之一.
上面的代码反映了我试图通过以下代码实现的目标
int size = tmpList.size();
int elementBC = 0; // element being checked
int startIndex = 1;
for (DepConfAttr dca : …Run Code Online (Sandbox Code Playgroud)