Sobes.tech
Junior — Middle

Կարող եք տալ Java-ի Stream API-ում տերմինալ մեթոդների օրինակներ?

sobes.tech AI

Պատասխան AI-ից

Java Stream API-ի մեջ տերմինալ մեթոդները այն գործողություններն են, որոնք ավարտում են հոսքի մշակումը և վերադարձնում արդյունք կամ կողմնակի ազդեցություն: Դրանք նոր հոսք չեն վերադարձնում, այլ օրինակ՝ հաշվարկում են արժեք կամ հավաքում տարրեր:

Տերմինալ մեթոդների օրինակներ՝

  • 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