ConcurrentModificationException:
Il metodo principale sta cercando di aggiungere gli interi alla lista.
All'interno del metodo principale, avviamo il thread figlio. cioè
t.start()
Al momento, abbiamo 2 thread in corso.
Ora il thread principale tenta di iterare gli elementi dell'elenco e all'interno di questo processo il thread figlio tenta di aggiungere l'elemento 4 all'elenco.
Pertanto, fornisce ConcurrentModificationException.
Come evitare ConcurrentModificationException?
1.Possiamo utilizzare raccolte simultanee come concurrentHashmap e CopyonWriteArrayList che non daranno mai ConcurrentCollectionException.
2.Invece di iterare sulla classe di raccolta possiamo iterare su Array , ma questo ridurrà le prestazioni solo se la dimensione dell'array è troppo grande.
Nota:
Non è obbligatorio che questa eccezione venga generata solo quando un altro thread tenta di modificare un oggetto di raccolta, può accadere se un singolo thread ha uno o l'altro metodo che sta tentando di violare il contratto dell'oggetto.

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































