をマップする
List<String>
から
Map <String, Integer>
を変換したい:私は文字列のリストを持っている、と私は思いますので
Map<String, Integer> namesMap = names.stream().collect(Collectors.toMap(name -> name, 0));
キーがリストの文字列で、値が整数(ゼロ)であるMapを作成するのが好きです。
私の目標は、文字列リストの要素をカウントすることです(後で私のコード内で)。
「古い」方法で変換するのは簡単です。
Map<String,Integer> namesMap = new HasMap<>();
for(String str: names) {
map1.put(str, 0);
}
でも、私にはJava 8ソリューションもあります。
だけ変更 '0' - > '0':名のカウントを取得し、あなただけの namesMap = names.stream()。collect(Collectors.groupingBy(name - > name、Collectors.counting()));'このメソッドを呼び出すと、 'name - > name'の代わりに' Function.identity() 'を使うこともできます。 –
Holger
Collectors.groupingBy
とCollectors.counting
を使用することができます'地図<文字列、整数> namesMap = names.stream()。collect(Collectors.toMap(name - > name、name - > 0)); '重複がある場合は失敗します。 'Mapああ、働いています、ありがとう! :) – LakiGeri