Middle
Методи collect дар Java чӣ мекунад?
sobes.tech AI
Ҷавоб аз AI
Раванди collect дар API-и Stream-и Java иҷрои кумулятивии тағйирпазири (mutable reduction) элементҳои ҷараёнро ба як объекти натиҷавӣ анҷом медиҳад. Он Collector-ро ҳамчун аргумент қабул мекунад ва имкон медиҳад, ки маълумотро ба роҳҳои гуногун ҷамъоварӣ, гурӯҳбандӣ ё истифодаи функсияҳои ҷамъоварӣ (ҷамъ, миёна ва ғайра) анҷом диҳад.
Компонентҳои асосии Collector:
supplier(): Як контейнери нав ва холӣ барои натиҷа месозад.accumulator(): Элементҳои ҷараёнро ба контейнери натиҷа илова мекунад.combiner(): Ду контейнери натиҷаиро якҷоя мекунад (дар ҷараёнҳои параллелӣ истифода мешавад).finisher(): Трансформатсияи ниҳоиро ба контейнери натиҷа татбиқ мекунад (ихтиёрӣ).
Имплементацияҳои маъмулӣ барои Collector тавассути синфи Collectors пешниҳод мешаванд:
toList(),toSet(),toMap(): Элементҳоро ба таври мувофиқ баList,Set,Mapҷамъ мекунанд.joining(): Элементҳои string-ро пайваст мекунад.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);
}
}