Iterator su ArrayList, Classi HashMap sono alcuni esempi di iteratore fail-fast. … Questo perché operano sul clone della raccolta, non sulla raccolta originale ed è per questo che sono chiamati iteratori fail-safe. Iterator su CopyOnWriteArrayList, le classi ConcurrentHashMap sono esempi di Iterator fail-safe.
L'iteratore è a prova di errore in Java?
L'iteratore in Java viene utilizzato per attraversare gli oggetti di una raccolta. Le raccolte restituiscono due tipi di iteratori, sarà Fail Fast o Fail Safe. Gli iteratori Fail Fast generano immediatamente ConcurrentModificationException in caso di modifica strutturale della raccolta.
Che cos'è fail-safe e fail-fast in Java?
Sicurezza. 1. Eccezione. Qualsiasi modifica nella raccolta, come l'aggiunta, la rimozione e l'aggiornamento della raccolta durante un thread, sta iterando la raccolta, quindi non riesce a lanciare un'eccezione di modifica simultanea. La raccolta fail-safe non genera eccezioni.
L'iteratore dell'elenco è veloce?
Gli iteratori restituiti dall'iteratore ArrayList e dai metodi listIterator sono fail-fast: se l'elenco viene modificato strutturalmente in qualsiasi momento dopo la creazione dell'iteratore, in qualsiasi modo tranne che tramite il rimuovere o aggiungere metodi dell'iteratore, l'iteratore genererà un'eccezione ConcurrentModificationException.
ArrayList è veloce?
L'iteratore di ArrayList fallisce velocemente, quindi mentre seiiterando su ArrayList usando Iterator se ArrayList sottostante viene modificato con un metodo diverso da add e remove fornito da Iterator stesso, genererà ConcurrentModificationException e verrà salvato.