Sobes.tech
Middle

Javaда collect ыкмасы эмне кылат?

sobes.tech AI

AIден жооп

Java Stream API-да collect методу ағым элементтерін өзгермелі азайту (mutable reduction) арқылы бір нәтижелік объектіге айналдыру жүзеге асырылады. Ол Collector-ды аргумент ретінде қабылдайды және мәліметтерді әртүрлі тәсілдермен жинақтауға, топтастыруға немесе жинақтау функцияларын (қосу, орташа және т.б.) қолдануға мүмкіндік береді.

Collector-дың негізгі компоненттері:

  • supplier(): Жаңа, бос нәтижелік контейнер құрады.
  • accumulator(): Ағымдағы ағым элементін нәтижелік контейнерге қосады.
  • combiner(): Екі нәтижелік контейнерді біріктіреді (параллель ағымдарда пайдаланылады).
  • finisher(): Нәтижелік контейнерге соңғы түрлендіруді қолданады (міндетті емес).

Танымал Collector жүзеге асырулары Collectors класы арқылы беріледі:

  • toList(), toSet(), toMap(): Элементтерді сәйкесінше List, Set, Map-қа жинақтайды.
  • joining(): Жол элементтерін біріктіреді.
  • groupingBy(): Элементтерді берілген критерий бойынша топтастырады.
  • counting(), summingInt(), averagingDouble(): Санақ, қосу, орташа.

Тізімге жинақтау мысалы:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class CollectExample {

    public static void main(String[] args) {
        List<String> names = Arrays.asList("Alice", "Bob", "Charlie");

        List<String> collectedNames = names.stream()
                                          .collect(Collectors.toList()); // Тізімге жинақтау

        System.out.println(collectedNames);
    }
}