Какой тип интерфейса используется в методе groupingBy из класса Collectors для определения группировки элементов?

В методе groupingBy из класса Collectors используется функциональный интерфейс FunctionT, K, где T — тип элементов исходного потока, а K — тип ключа группировки.

Короткий ответ

Что ответить на собеседовании

В методе groupingBy из класса Collectors используется функциональный интерфейс Function<T, K>, где T — тип элементов исходного потока, а K — тип ключа группировки. Этот интерфейс определяет функцию, которая для каждого элемента возвращает ключ, по которому будет происходить группировка.

Подробный разбор

Ответ с пояснениями

В методе groupingBy из класса Collectors используется функциональный интерфейс Function<T, K>, где T — тип элементов исходного потока, а K — тип ключа группировки. Этот интерфейс определяет функцию, которая для каждого элемента возвращает ключ, по которому будет происходить группировка.

Пример:

Map<String, List<Person>> groupedByCity = persons.stream()
    .collect(Collectors.groupingBy(Person::getCity));

Здесь Person::getCity — это реализация интерфейса Function<Person, String>, которая возвращает город для группировки.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее