Я новичок в лямбда-выражениях, и в настоящее время я застрял в задаче, которую я хотел бы решить (только ради изучения лямбда).Java lambda expression: Как объединить ключ и множество значений из хэш-карты?
Это карта Map<String, Set<Integer>>
, и я хочу перебирать элементы ввода, объединяющие ключи и их значения в виде строки.
Карта может выглядеть следующим образом:
"х", [1,3,5]
"у", [2,3]
"г", [ 2,4]
И я хочу закончить с этим строковым представлением:
"x: 1, 3, 5; y: 2, 3; z: 2, 4 "
Я даже не знаю, с чего начать. Все примеры, которые можно найти в Интернете, либо просто образуют список или карту с одиночными значениями (вместо набора) и в большинстве случаев все, что они делают, это System.out.println()
.Я даже не могу понять, как начать ... forEach или stream? Я думаю, мне нужен один (или более?) сборщик (ы), который может присоединиться к значениям, но я просто не понимаю, как этого добиться. это возможно даже в одном выражении?
Может кто-нибудь дать мне подсказку?
Спасибо! Это именно то, что я искал. – oldzitterhand