Junior — Middle
Можеш ли да дадеш примери за терминални методи в API Stream в Java?
sobes.tech AI
Отговор от AI
Терминалните методи в API-то на Java Stream са операции, които завършват обработката на потока и връщат резултат или страничен ефект. Те не връщат нов поток, а например изчисляват стойност или събират елементи.
Примери за терминални методи:
forEach(Consumer<? super T> action)— изпълнява действие за всеки елемент.collect(Collector<? super T,A,R> collector)— събира елементите в колекция или друг контейнер.reduce(BinaryOperator<T> accumulator)— редуцира елементите до една стойност.count()— връща броя на елементите.anyMatch(Predicate<? super T> predicate)— проверява дали поне един елемент отговаря на условието.allMatch(Predicate<? super T> predicate)— проверява дали всички елементи отговарят на условието.findFirst()— връща първия елемент в потока (ако има такъв).
Пример:
List<String> list = Arrays.asList("a", "bb", "ccc");
long count = list.stream()
.filter(s -> s.length() > 1)
.count(); // терминална метода
System.out.println(count); // 2