比如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就是该值的重复次数