Полезные советы для новичков
Iterator vs for-each: for-each проще, но не позволяет удалять. Iterator — для модификации.
remove() итератора: Вызывается после next(), удаляет последний полученный элемент.
ConcurrentModificationException: Избегайте прямого list.remove() в for-each.
Альтернатива: Для удаления нескольких элементов соберите индексы/объекты в другой список, затем удалите после итерации.
Импорты: import java.util.Iterator;
Практическое задание
Задача 1: Добавьте в Library метод removeAllByAuthor(String author), который использует Iterator для удаления всех книг данного автора.
Задача 2: Реализуйте метод printBooksBackwards() — используйте ListIterator (books.listIterator(books.size())) и previous() для обратного обхода.
Задача 3: Протестируйте удаление во время итерации с несколькими совпадениями — убедитесь, что все удаляются безопасно.
Реализуйте эти задачи самостоятельно — это закрепит работу с Iterator и понимание итерации.
#Java #для_новичков #beginner #for_each #fail_fast #fail_safe #Практика
Iterator vs for-each: for-each проще, но не позволяет удалять. Iterator — для модификации.
remove() итератора: Вызывается после next(), удаляет последний полученный элемент.
ConcurrentModificationException: Избегайте прямого list.remove() в for-each.
Альтернатива: Для удаления нескольких элементов соберите индексы/объекты в другой список, затем удалите после итерации.
Импорты: import java.util.Iterator;
Практическое задание
Задача 1: Добавьте в Library метод removeAllByAuthor(String author), который использует Iterator для удаления всех книг данного автора.
Задача 2: Реализуйте метод printBooksBackwards() — используйте ListIterator (books.listIterator(books.size())) и previous() для обратного обхода.
Задача 3: Протестируйте удаление во время итерации с несколькими совпадениями — убедитесь, что все удаляются безопасно.
Реализуйте эти задачи самостоятельно — это закрепит работу с Iterator и понимание итерации.
#Java #для_новичков #beginner #for_each #fail_fast #fail_safe #Практика
🔥1🆒1
Что выведет код?
#Java
import java.util.*;
public class Task181225 {
public static void main(String[] args) {
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
try {
list.forEach(item -> {
System.out.print(item + " ");
if (item.equals("b")) {
list.add("d");
}
});
} catch (Exception e) {
System.out.print("Exception ");
}
System.out.println(list.size());
}
}
#Java