Sobes.tech
Back to questions
Junior — Middle
54

Можно ли выполнить преобразование потока данных (Stream) в таблицу ключ-значение (Map)?

Answer from AI

sobes.tech AI

Да, в 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, указав правила формирования ключей и значений.