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(): ელემენტებს აგროვებს შესაბამისი ტიპის კოლექციებში.
  • 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);
    }
}