HashMap mit Streams in Java 8 Streams Wert von Karte sammeln
Map<Integer, List> id1 = new HashMap<Integer,List>();
ich hashmap betrachten Lassen Sie einige Werte in beiden hashmap eingefügt.
Zum Beispiel
List<String> list1 = new ArrayList<String>();
list1.add("r1");
list1.add("r4");
List<String> list2 = new ArrayList<String>();
list2.add("r2");
list2.add("r5");
List<String> list3 = new ArrayList<String>();
list3.add("r3");
list3.add("r6");
id1.put(1,list1);
id1.put(2,list2);
id1.put(3,list3);
id1.put(10,list2);
id1.put(15,list3);
Q1) Jetzt möchte ich eine Filterbedingung auf dem Schlüssel in hashmap anzuwenden und den entsprechenden Wert (List) abrufen.
Beispiel: Hier Meine Abfrage ist der Schlüssel = 1 und Ausgabe sollte ‚list1‘ sein
Ich schrieb
id1.entrySet().stream().filter(e -> e.getKey() == 1);
Aber ich weiß nicht, wie als Liste als Ausgang dieses abrufen Stream-Betrieb.
Q2) Wieder möchte ich eine Filterbedingung auf den Schlüssel in hashmap anwenden und die entsprechende Liste der Listen abrufen.
ZB: Hier Meine Abfrage ist Schlüssel = 1% (d. H. Schlüssel kann 1,10,15 sein), und die Ausgabe sollte 'list1', 'list2', 'list3' (Liste von Listen) sein.
Verwenden Sie keine halb gebackenen generischen Typen. Höchstwahrscheinlich sollte Ihre Karte 'Map>' anstatt 'Map ' –
Holger