public static void main(String[] args) {
TreeSet<Integer> ts=new TreeSet<Integer>();
ts.add(2);
ts.add(4);
ts.add(0);
Iterator<Integer> itr=ts.iterator();
while(itr.hasNext()){
Integer c=itr.next();
System.out.println(c);
//Code
ts.add(1);
}
}
Exception in thread "main" java.util.ConcurrentModificationException
Это относится ко всем коллекциям, таким как List
, Map
, Set
Поскольку при запуске итератора он может быть заблокирован.
если вы итерируете список с помощью итератора, тогдаэто исключение придет.Я думаю, что в противном случае этот цикл будет бесконечным, так как вы добавляете элемент итерации.
Рассмотрим без итератора:
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
list.add(2);
list.add(4);
list.add(0);
for (int i = 0; i < 3; i++) {
System.out.println(list.get(i));
list.add(3);
}
System.out.println("Size" +list.size());
}
все будет хорошо.