Цикл, forEach и Stream: выбирайте по задаче
Цикл, forEach и Stream: выбирайте по задаче Обычный цикл for-each остаётся хорошим вариантом для последовательной обработки, особенно если нужны break, continue или несколько действий с понятной обработкой ошибок. collection.forEach(action) удобен для короткого действия. Stream полезен, когда задача действительно состоит из преобразований и фильтрации: var names = users.stream() .filter(Objects::nonNull) .map(User::getName) .toList(); Stream.toList() доступен с Java 16 и возвращает неизменяемый список. Если результат надо менять, выберите подходящий коллектор. При обходе обычной изменяемой коллекции не меняйте её структуру через другой путь. Для удаления могут подходить Iterator.remove() или removeIf(). Современный API сам по себе не гарантирует ускорение. #Java Java Библиотека | Мы в Телеграм