Middle
Ką daro collect metodas Java?
sobes.tech AI
Atsakymas iš AI
„collect“ metodas Java Stream API vykdo mutabilųjį sumažinimą (mutable reduction) srauto elementų į vieną rezultato objektą. Jis priima Collector kaip argumentą ir leidžia agreguoti duomenis įvairiais būdais, pavyzdžiui, surinkti elementus į kolekcijas, juos grupuoti arba taikyti agregavimo funkcijas (suma, vidurkis ir kt.).
Pagrindinės Collector sudedamosios dalys:
supplier(): Sukuria naują, tuščią rezultato konteinerį.accumulator(): Prideda einamąjį srauto elementą į rezultato konteinerį.combiner(): Sujungia du rezultato konteinerius (naudojama paraleliniuose srautuose).finisher(): Atlieka galutinę transformaciją rezultato konteineryje (pasirinktinai).
Populiarios Collector įgyvendinimai yra pateikiami Collectors klasės:
toList(),toSet(),toMap(): Surenka elementus į atitinkamaiList,Set,Map.joining(): Sujungia eilutės elementus.groupingBy(): Grupuoja elementus pagal nurodytą kriterijų.counting(),summingInt(),averagingDouble(): Skaičiuoja, sumuoja, vidurkį skaičiuoja.
Pavyzdys, kaip surinkti į sąrašą:
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()); // Surinkti į sąrašą
System.out.println(collectedNames);
}
}