Назад к вопросам
Senior
5
В чем разница между коллекцией (Collection) и стримом (Stream)?
Компании, где спрашивали
aiins
Ответ от нейросети
sobes.tech AI
Коллекция (Collection) — это структура данных, которая хранит элементы в памяти и предоставляет методы для добавления, удаления и перебора этих элементов. Коллекция — это конкретное хранилище данных.
Стрим (Stream) — это абстракция для последовательной обработки данных, которая не хранит элементы, а позволяет выполнять операции над ними (фильтрация, отображение, агрегация) в функциональном стиле. Стримы ленивы и могут быть одноразовыми.
Ключевые отличия:
- Коллекция хранит данные, стрим — нет.
- Коллекция можно перебирать многократно, стрим — одноразовый.
- Стрим поддерживает цепочку операций и ленивое вычисление.
Пример:
List<String> list = Arrays.asList("a", "b", "c");
// Коллекция хранит данные
for (String s : list) {
System.out.println(s);
}
// Стрим позволяет обработать данные функционально
list.stream()
.filter(s -> !s.equals("b"))
.forEach(System.out::println);