Junior — Middle
85
Java-ның Stream API-інде бір ағынға бірнеше рет терминалды әдісті қолдануға бола ма?
Сұралған компаниялар
Y_lab development
AI-дан жауап
sobes.tech AI
Нет, терминальный метод в Stream API Java можно применить только один раз к одному потоку. После вызова терминального метода поток считается закрытым, и повторное использование того же потока приведет к IllegalStateException.
Если нужно выполнить несколько операций, следует создать новый поток из исходной коллекции или источника данных.
Пример:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream();
long count = stream.count(); // терминальный метод
// stream.forEach(System.out::println); // вызовет IllegalStateException
// Правильно:
list.stream().forEach(System.out::println);