Назначьте ввод Map> выходу Map>JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Назначьте ввод Map> выходу Map>

Сообщение Anonymous »

Я новичок в Streams и мне нужно что-то вроде этого:
У меня есть входная карта с . Я хочу прочитать эту карту в потоке и назначить ее выходной карте с помощью , где значение является первым элементом списка значений из входной карты.
Пример:

Код: Выделить всё

**Input:**
{key1, [value1 value2]}
{key2, null}

**Output**
{key1, value1}
{key2, null}
Обратите внимание: если список на первой карте имеет значение NULL, то во второй карте он должен быть записан как нулевой. Если список пуст, то во втором значении карты также должно быть записано значение null.
Что я пробовал:

Код: Выделить всё

Map output= input.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().get(0)));
Это создает исключение java.lang.NullPointerException, когда список пуст на первой карте.

Подробнее здесь: https://stackoverflow.com/questions/650 ... ing-output
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»