Ci sono domande simili ma non esattamente quello che voglio chiedere. Voglio chiedere come Iterator controlla la modifica.implementazione rapida iteratore
This link afferma che la sua implementazione è presente nella classe AbstractList dove è definito un modCount variabile int che fornisce il numero di volte in cui è stata modificata la dimensione dell'elenco. Questo valore viene utilizzato in ogni chiamata next() per verificare eventuali modifiche in una funzione checkForComodification().
Ma non riuscivo davvero a capirlo. Se il valore viene verificato solo dopo ogni chiamata successiva, se faccio una rimozione seguita da aggiungi nella stessa chiamata, la dimensione non cambierà e modCount non dovrebbe cambiare anche. Ma rimuovendo e aggiungendo nello stesso ciclo iterativo si genera anche un'eccezione.
+1, Funziona. Ma non è necessario presupporre che [il codice sia disponibile] (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/util/AbstractList. java # AbstractList.0modCount). – yshavit
@yshavit L'ho scritto prima di controllare il codice;) – Alowaniak