Junior — Middle
Tudnál példákat adni a Stream API végső módszereire Java-ban?
sobes.tech MI
Válasz az MI-től
A Java Stream API-ban a terminális módszerek olyan műveletek, amelyek befejezik a stream feldolgozását, és eredményt vagy mellékhatást adnak vissza. Nem adnak vissza új Stream-et, hanem például értéket számítanak vagy elemeket gyűjtenek össze.
Példák terminális módszerekre:
forEach(Consumer<? super T> action)— minden elemre végrehajt egy műveletet.collect(Collector<? super T,A,R> collector)— elemek gyűjtése gyűjteménybe vagy más tárolóba.reduce(BinaryOperator<T> accumulator)— elemek összegzése egyetlen értékké.count()— az elemek számának visszaadása.anyMatch(Predicate<? super T> predicate)— ellenőrzi, hogy van-e legalább egy elem, amely megfelel a feltételnek.allMatch(Predicate<? super T> predicate)— ellenőrzi, hogy minden elem megfelel-e a feltételnek.findFirst()— az első elem visszaadása a stream-ből (ha van).
Példa:
List<String> list = Arrays.asList("a", "bb", "ccc");
long count = list.stream()
.filter(s -> s.length() > 1)
.count(); // terminális módszer
System.out.println(count); // 2