私はクラス呼び出しの生徒を作成していて、それらをリストに保存したいのですが、イテレータを使ってリストから要素をフェッチしていますが、起こっていると私はここで起こっている例外を解決するカント誰かが私にthis.Thankのための論理的な理由を与えることができれば、それは大きな助けになりますがjava.util.ConcurrentModificationException誰かが私にこの論理的な理由を説明できますか?
import java.awt.List;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;
import java.util.List.*;
public class Runs {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
// adding student class to list
java.util.List list = new ArrayList<Student>();
Student q = new Student("hello", 1);
Iterator<Student> l = list.iterator();
list.add(q);
// error false in this segment of the code
Student op = l.next();
String hhh = op.getnamez();
System.out.println(hhh);
System.out.println(op.getnamez());
} catch (Exception e) {
System.out.println("" + e);
}
}
public static class Student {
// student class
public String name;
private int age;
public Student(String s, int a) {
this.name = s;
this.age = a;
}
public String getnamez() {
return this.name;
}
}
}
可能な複製を別のデータ構造を固執する必要があるかもしれませんIterotirを実行しているに同時変更を行いたい場合
コレクション、ConcurrentModificationExceptionをループ内で削除するのを避ける](@stackoverflow.com/questions/223918/iterating-through-a-collection-avoiding-concurrentmodificationexception-when-re) – Jeremy