Ich möchte eine Map <String, Integer>
von List<String>
in Java 8, so etwas konvertieren:Java Liste <String> to Map <String, Integer> convertion
Map<String, Integer> namesMap = names.stream().collect(Collectors.toMap(name -> name, 0));
weil ich eine Liste von Strings haben, und ich würde Ich mag es, eine Map zu erstellen, wobei der Schlüssel die Zeichenfolge der Liste ist und der Wert Integer (eine Null) ist.
Mein Ziel ist es, die Elemente der String-Liste (später in meinem Code) zu zählen.
Ich weiß, dass es einfach ist, es auf die "alte" Weise umzuwandeln;
Map<String,Integer> namesMap = new HasMap<>();
for(String str: names) {
map1.put(str, 0);
}
aber ich frage mich, es gibt auch eine Java 8-Lösung.
gerade Änderung '0' auf 'Name -> 0': 'Map namesMap = names.stream(). collect (Collectors.toMap (name -> name, name -> 0)); 'aber dies schlägt fehl, wenn du Duplikate hast. Wenn Sie Vorkommen zählen wollen, machen Sie das zuerst einmal richtig: 'Map namesMap = names.stream(). Collect (Collectors.groupingBy (Name -> Name, Collectors.counting()));' Statt 'name -> name' können Sie auch' Function.identity() 'verwenden. –
Holger
Ohh es funktioniert, danke! :) – LakiGeri