Sobes.tech
Middle

Mida teeb meetod collect Java-s?

sobes.tech AI

Vastus AI-lt

Meetod collect Java Stream API-s teostab voolu elementide muudetava kokkuvõtte (muutuv kokkuvõte), mis viib tulemuseks ühe objekti. See võtab argumendina Collector ja võimaldab andmeid erinevatel viisidel kokku koguda, näiteks kogudes elemente kogumitesse, grupeerides neid või rakendades kokkuvõttefunktsioone (summa, keskmine jne).

Collector põhikomponendid:

  • supplier(): Loob uue, tühja tulemuskonteineri.
  • accumulator(): Lisab voolu praeguse elemendi tulemuskonteinerisse.
  • combiner(): Ühendab kaks tulemuskonteinerit (kasutatakse paralleelvooludes).
  • finisher(): Rakendab lõpliku teisenduse tulemuskonteinerile (valikuline).

Populaarsed Collector teostused on esitatud klassis Collectors:

  • toList(), toSet(), toMap(): Elementide kogumine vastavalt List, Set, Map.
  • joining(): Stringi elementide ühendamine.
  • groupingBy(): Elementide grupeerimine määratud kriteeriumi järgi.
  • counting(), summingInt(), averagingDouble(): Loendamine, summeerimine, keskmise arvutamine.

Näide kasutamisest nimekirja kogumiseks:

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()); // Kogumine List-iks

        System.out.println(collectedNames);
    }
}