@Test
public void testListCur(){
    List<String> li=new ArrayList<String>();
    for(int i=0;i<10;i++){
        li.add("str"+i);
    }
    for(String st:li){
        if(st.equalsIgnoreCase("str3"))
            li.remove("str3");
    }
    System.out.println(li);
}
Когда я запустил этот код, я брошу исключение ConcurrentModificationException.
Похоже, что когда я удаляю указанный элемент из списка, список не знает, что его размер был изменен.
Мне интересно, является ли это общей проблемой с коллекциями и удалением элементов?