找出重复元素并计算次数

比如10个数字 1 3 2 5 3 4 7 3 5 2 

找出哪些是重复的并且重复了几次

        Integer[] arr = new Integer[]{1,3,2,5,3,4,7,3,5,2};
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        for (Integer i : arr) {
            if(map.get(i)!=null){
                map.put(i, map.get(i)+1);
            }else{
                map.put(i, 1);
            }
        }
        for(Entry<Integer,Integer> entry :map.entrySet()){
            if(entry.getValue()>1){
                System.out.println("数字:"+entry.getKey()+";次数:"+entry.getValue());
            }
        }
把这些数据放到map中为Key,默认value为1,遍历数组当map.get(key) !=null; 说明该元素重复了,就把value+1;

这样map中Key就是这个数组中没有重复的数,而对应的value就是该值的重复次数



猜你喜欢

转载自blog.csdn.net/jie1991liu/article/details/50424304