Sobes.tech
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