Lambda-Expression

Kababär

Top Contributor
Hi,

ich habe gerade Schwierigkeiten mein Datentyp in Lambda-Form auszudrücken:

Die Datenstruktur ist:
Code:
Map<String, Tuple<String, String>>

und beim Versuch
Code:
myMap.entrySet().stream().forEach((k, v) -> textarea.append(""));

sagt mir Eclipse foglendes:

Lambda expression's signature does not match the signature of the functional interface method accept(Map.Entry<String,Tuple<String,String>>)

Also meine Map hat einen String als Key und ein (2er-)Tupel als Value. Wieso funktioniert da (k,v) nicht?
k ist doch der Schlüssel und v das Tupel?
 
Weil das nur einen Wert bekommt, eben Map.Entry<String,Tuple<String,String>> 😉

Java:
myMap.entrySet().stream().forEach(entry -> textarea.append(""));
 
Oh wie peinlich 😀
Konnte man da nicht irgendwie zwei Werte angeben?
Hatte das irgendwie so "intuitiv im Blut" und öfter mal gesehen 😳
 
Ja, mit der entsprechenden Methode 😛

Java:
map.forEach((k,v) -> textarea.append(""))
 

Zurück
Oben