Iterator na ArrayList, klasy HashMap to kilka przykładów szybkiego iteratora. … Dzieje się tak dlatego, że działają na klonie kolekcji, a nie na oryginalnej kolekcji i dlatego nazywa się je iteratorami fail-safe. Iterator w klasach CopyOnWriteArrayList, ConcurrentHashMap są przykładami odpornego na awarie Iteratora.
Czy iterator jest bezpieczny w Javie?
Iterator w Javie służy do przechodzenia przez obiekty kolekcji. Kolekcje zwracają dwa typy iteratorów, to będzie Fail Fast lub Fail Safe. Iteratory Fail Fast natychmiast zgłaszają wyjątek ConcurrentModificationException w przypadku strukturalnej modyfikacji kolekcji.
Co to jest bezpieczne i szybkie w przypadku awarii w Javie?
Bezpieczne w razie awarii. 1. Wyjątek. Wszelkie zmiany w kolekcji, takie jak dodawanie, usuwanie i aktualizowanie kolekcji podczas wątku, iterują kolekcję, a następnie powodują niepowodzenie szybkiego rzucania wyjątku współbieżnej modyfikacji. Kolekcja bezpieczna w razie awarii nie zgłasza wyjątku.
Czy iterator listy działa szybko?
Iteratory zwrócone przez iterator ArrayList i metody listIterator są szybkie w przypadku niepowodzenia: jeśli lista zostanie zmodyfikowana strukturalnie w dowolnym momencie po utworzeniu iteratora, w jakikolwiek sposób z wyjątkiem własne metody usuwania lub dodawania iteratora, iterator zgłosi wyjątek ConcurrentModificationException.
Czy ArrayList działa szybko?
Iterator tablicy ArrayList nie działa szybko, więc gdy jesteśiterowanie po ArrayList przy użyciu Iteratora, jeśli podstawowa ArrayList jest modyfikowana za pomocą dowolnej metody innej niż dodawanie i usuwanie zapewnianej przez sam Iterator, spowoduje zgłoszenie ConcurrentModificationException i uratowanie.