Sobes.tech
Middle

Java'da collect metodi nima qiladi?

sobes.tech AI

AIdan javob

Java Stream API'da collect metodi oqim elementlarini o'zgaruvchan kamaytirish (mutable reduction) orqali yagona natija ob'ektiga aylantiradi. U Collector ni argument sifatida qabul qiladi va ma'lumotlarni turli usullarda yig'ish, guruhlash yoki agregatsiya qilish (jami, o'rtacha va boshqalar) imkonini beradi.

Collector ning asosiy komponentlari:

  • supplier(): Yangi, bo'sh natija konteynerini yaratadi.
  • accumulator(): Oqimdagi joriy elementni natija konteyneriga qo'shadi.
  • combiner(): Ikki natija konteynerini birlashtiradi (paralel oqimlarda ishlatiladi).
  • finisher(): Natija konteyneriga yakuniy transformatsiya qo'llaydi (ixtiyoriy).

Mashhur Collector implementatsiyalari Collectors sinfi tomonidan taqdim etiladi:

  • toList(), toSet(), toMap(): Elementlarni mos ravishda List, Set, Map ga yig'adi.
  • joining(): Matnli elementlarni birlashtiradi.
  • groupingBy(): Elementlarni berilgan mezon bo'yicha guruhlaydi.
  • counting(), summingInt(), averagingDouble(): Hisoblash, yig'ish, o'rtacha.

Listga yig'ish uchun misol:

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()); // List ga yig'ish

        System.out.println(collectedNames);
    }
}