の数である、私はこのコードを変更しようとしていますforeach使用してマッピングするためにrepetead文字列のキーを追加:アイデア、あなたが見ることができるように値は、Java 8のforEachを学ぶために、私のプロセスで繰り返し
Integer counter;
for(String s : stringList) {
counter = myMap.get(s);
if(counter == null) {
myMap.put(s, 1);
}
else {
myMap.put(s, counter + 1);
}
}
を文字列が存在しない場合は、キーとして追加され、値は1に設定されます。 キーが存在する場合、カウンタは最新の値と等しくなり、counter + 1で置き換えられます。
Iこれを試しました:
stringList.forEach(s-> myMap.putIfAbsent(s,1));
しかし、それは仕事の半分にすぎません。
私はcomputeIfAbsentやcomputeIfPresentのようなメソッドが存在することを知っていますが、キーの後には関数が必要ですが何がわかりません。それは最終的なものでなければならないので、カウンタに値を変更することはできません。 putIfPresentが存在しないようです...
forEachとラムダ式を使用してこれを行うことはできますか?
うわー、それはまさに私が探していたものです。私はまだjavadocsの秘密の説明に慣れています。私はtought mergeを使って2つの2つのマップをマージしました。これは素晴らしい! – Nooblhu