Junior — Middle
93
Mikor kezdődik a folyamatfolyam feldolgozása a gyűjteménnyel?
Válasz az MI-től
sobes.tech MI
Запуск потоковой обработки (stream) в Java происходит в момент вызова терминальной операции. До этого все промежуточные операции (map, filter, sorted и т.д.) являются ленивыми и не выполняются.
Например:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream()
.filter(s -> s.startsWith("a"))
.map(String::toUpperCase);
// Здесь поток еще не запущен
List<String> result = stream.collect(Collectors.toList()); // Терминальная операция — запуск обработки
Таким образом, потоковая обработка запускается при вызове терминальной операции, такой как collect(), forEach(), reduce(), count() и т.п.