javaで配列の重複する要素数を数える方法は?

HashMapを使って配列内の重複する要素の数を数えることができます。まず配列を走査し、配列内の要素をキーとして、出現した回数を値としてHashMapに格納します。次にHashMapを走査し、重複する要素とその出現回数を表示します。

ネイティブの日本語で言い換えると、以下のようなコード例になります。

import java.util.HashMap;
import java.util.Map;

public class CountDuplicates {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1};

        // 使用HashMap来统计重复元素的个数
        Map<Integer, Integer> countMap = new HashMap<>();
        for (int num : array) {
            if (countMap.containsKey(num)) {
                countMap.put(num, countMap.get(num) + 1);
            } else {
                countMap.put(num, 1);
            }
        }

        // 输出重复元素及其出现的次数
        for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {
            int num = entry.getKey();
            int count = entry.getValue();
            if (count > 1) {
                System.out.println("重复元素:" + num + ",出现次数:" + count);
            }
        }
    }
}

このコードを実行すると、次の出力が得られます。

重复元素:1,出现次数:3
重复元素:2,出现次数:2
重复元素:3,出现次数:2
重复元素:4,出现次数:2
重复元素:5,出现次数:2
bannerAds