sfd
Разница между fail-fast и fail-safe Iterator
fail-fast Iterator Итераторы в Java используются для итерации по объектам Collection. Fail-Fast итераторы бросают ConcurrentModificationException исключение, когда кто-то пытается модификация коллекции. Под этим понимаем добавление, удаление или обновление любого элемента из коллекции, когда поток выполняет итерацию по этой коллекции. Iterator в классах ArrayList, HashMap - это примеры fail-fast Iterator. fail-safe Iterator Fail-safe итераторы не генерируют никаких исключений, если коллекцию изменили во время итерации по ней...
Java 831. Приведите примеры итераторов реализующих поведение fail-safe
Некоторые примеры итераторов, реализующих поведение fail-safe, включают: Итератор CopyOnWriteArrayList - это итератор для класса CopyOnWriteArrayList, который создает копию списка на момент создания итератора. В результате он не видит изменений, которые были выполнены после создания итератора. CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();
Iterator<String> it = list.iterator();
list.add("first");
it.next(); // вернет "first" list.add("second");
it.next(); // все еще вернет "first"...