Sobes.tech
Назад к вопросам
Junior — Middle
89

Использовал ли вы метод collect() для преобразования Stream в HashMap?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Да, метод collect() в Java Stream API часто используется для преобразования потока элементов в коллекции, включая HashMap.

Для преобразования Stream в HashMap можно использовать коллектор Collectors.toMap(). Например:

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

public class Example {
    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}
    }
}

Если ключи могут повторяться, нужно использовать версию toMap с функцией объединения значений, чтобы избежать IllegalStateException.