Что такое fail-fast и fail-safe итераторы?

Middle
299 просмотров
AFK Offer AI

Fail-fast итераторы (ArrayList, HashMap) бросают ConcurrentModificationException, если коллекция изменена во время итерации (через modCount). Это best-effort — не гарантировано. Fail-safe (ConcurrentHashMap, CopyOnWriteArrayList) — работают с копией или snapshot, не бросают исключений, но могут показывать устаревшие данные. Для удаления во время итерации используй Iterator.remove() — это безопасно даже для fail-fast. С Java 8 — removeIf() на коллекции.

Следующий вопрос

Что такое records в Java?