Middle
Co dělá metoda collect v Java?
sobes.tech AI
Odpověď od AI
Metoda collect v API Stream v jazyce Java provádí mutabilní redukci (mutable reduction) prvků proudu do jednoho výsledného objektu. Přijímá jako argument Collector a umožňuje agregaci dat různými způsoby, například shromažďováním prvků do kolekcí, jejich seskupováním nebo použitím agregačních funkcí (sčítání, průměr atd.).
Hlavní komponenty Collector:
supplier(): Vytvoří nový, prázdný kontejner výsledku.accumulator(): Přidá aktuální prvek proudu do výsledného kontejneru.combiner(): Sloučí dva výsledné kontejnery (používá se v paralelních proudech).finisher(): Aplikuje konečnou transformaci na výsledný kontejner (volitelné).
Populární implementace Collector jsou poskytovány třídou Collectors:
toList(),toSet(),toMap(): Sbírá prvky doList,Set,Map.joining(): Spojuje řetězce.groupingBy(): Sesazuje prvky podle zadaného kritéria.counting(),summingInt(),averagingDouble(): Počítání, sčítání, průměrování.
Příklad použití pro sběr do seznamu:
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()); // Sběr do Listu
System.out.println(collectedNames);
}
}