カウント処理をしたい時

値ごとのカウント処理を行いたい場合、MapのKeyに値のキー、Valueに値の出現回数を入れる処理がよくある。

Map<String, Integer> countMap = new HashMap<>();
for (String word : wordList) {
    if (countMap.containsKey(word)) {
        countMap.put(word, countMap.get(word) + 1);
    } else {
        countMap.put(word, 1);
    }
}

この処理は、Map#getOrDefaultメソッドを使用することで簡略化できる。

Map<String, Integer> countMap = new HashMap<>();
for (String word : wordList) {
    countMap.put(word, countMap.getOrDefault(word, 0) + 1);
}