找出重复元素并计算次数

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

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

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

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

你可能感兴趣的:(面试指导)