Преобразовать список объектов с полями k и value в Map через Stream API так, чтобы данные не потерялись (k может повторяться)

Да, в Java можно преобразовать поток данных (Stream) в карту (Map) с помощью метода Collectors.toMap(). Этот метод позволяет указать, как получить ключ и значение из элементов потока.

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

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

Да, в Java можно преобразовать поток данных (Stream) в карту (Map) с помощью метода Collectors.toMap(). Этот метод позволяет указать, как получить ключ и значение из элементов потока.

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

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

Да, в Java можно преобразовать поток данных (Stream) в карту (Map) с помощью метода Collectors.toMap(). Этот метод позволяет указать, как получить ключ и значение из элементов потока.

Пример:

import java.util.*;
import java.util.stream.*;

public class StreamToMapExample {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "cherry");

        Map<String, Integer> map = list.stream()
            .collect(Collectors.toMap(
                s -> s,          // ключ — сама строка
                s -> s.length()  // значение — длина строки
            ));

        System.out.println(map); // {apple=5, banana=6, cherry=6}
    }
}

Таким образом, можно легко преобразовать Stream в Map, указав правила формирования ключей и значений.

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

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

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

Подробнее