06:44
1,0×
00:00/06:44
390,6 тыс смотрели · 4 года назад
2 года назад
Разница между fail-fast и fail-safe Iterator
fail-fast Iterator Итераторы в Java используются для итерации по объектам Collection. Fail-Fast итераторы бросают ConcurrentModificationException исключение, когда кто-то пытается модификация коллекции. Под этим понимаем добавление, удаление или обновление любого элемента из коллекции, когда поток выполняет итерацию по этой коллекции. Iterator в классах ArrayList, HashMap - это примеры fail-fast Iterator. fail-safe Iterator Fail-safe итераторы не генерируют никаких исключений, если коллекцию изменили во время итерации по ней...
1 год назад
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"...