Middle
153
questionbank
Что делает метод collect в Java?
Ответ от нейросети
sobes.tech AI
Метод collect в Java Stream API выполняет мутабельное сокращение (mutable reduction) элементов потока в один результирующий объект. Он принимает в качестве аргумента Collector и позволяет агрегировать данные различными способами, например, собирать элементы в коллекции, группировать их или применять агрегирующие функции (суммирование, усреднение и т.д.).
Основные компоненты Collector:
supplier(): Создает новый, пустой результирующий контейнер.accumulator(): Добавляет текущий элемент потока в результирующий контейнер.combiner(): Объединяет два результирующих контейнера (используется в параллельных потоках).finisher(): Применяет финальное преобразование к результирующему контейнеру (optional).
Популярные реализации Collector предоставляются классом Collectors:
toList(),toSet(),toMap(): Сбор элементов вList,Set,Mapсоответственно.joining(): Объединение строковых элементов.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()); // Сбор в List
System.out.println(collectedNames);
}
}