Ich habe Karte mit Schlüssel als String und Wert als Liste. Liste kann 10 eindeutige Werte haben. Ich muss diese Karte mit Schlüssel als Ganzzahl und Wert als Liste konvertieren. Beispiel wie folgt:Java8 Streams: Karte mit Werten als Liste transponieren
Input:
"Key-1": 1,2,3,4
"Key-2": 2,3,4,5
"Key-3": 3,4,5,1
Erwartete Ausgabe:
1: "Key-1", "Key-3"
2: "Key-1", "Key-2"
3: "Key-1", "Key-2", "Key-3"
4: "Key-1" "Key-2", "Key-3"
5: "Key-2", "Key-3"
ich bin mir bewusst, dass für Loops i dies erreichen kann, aber ich brauchte Dose wissen Dies kann über streams/lamda in java8 geschehen.
-Danke.
Streams sind besser geeignet für Staatenlose Operationen.Während diese Antwort richtig ist, wäre sie besser für einen imperativen Stil geeignet. Es ist im Grunde die Loop-Strategie des OP, aber stattdessen mit einem 'forEach' umbenannt. – 4castle
'forEach' gehört nicht zu' streams'. Es wird in "Iterable", "list.stream()" deklariert. ForEach sollte "list.forEach" sein. –
@ Jean-François Savard: Streams haben auch eine 'forEach'-Methode, allerdings mit einer etwas anderen Semantik. – Holger