import java.util.*;
/*
* 如何寻找数组中重复次数最多的数
* 通过引入Map映射表来记录每一个元素出现的次数,然后判读次数大小,进而找到重复次数最多的元素
*/
public class findMostFrequentArray {
public static int find(int[] array){
int result=0;
int len=array.length;
if(len==0)
return Integer.MAX_VALUE;
//记录每个元素出现的次数
Map<Integer,Integer> map=new HashMap<Integer,Integer>();
for(int i=0;i<len;i++){
if(map.containsKey(array[i]))
map.put(array[i], map.get(array[i])+1);
else
map.put(array[i], 1);
}
//找到出现次数最多的元素
int mostFrequentNum=0;
int key=0;
int value=0;
Iterator iter=map.entrySet().iterator();
while(iter.hasNext()){
Map.Entry entry=(Map.Entry) iter.next();
key=(Integer) entry.getKey();
value=(Integer) entry.getValue();
if(value>mostFrequentNum){
result=key;
mostFrequentNum=value;
}
}
return result;
}
public static void main(String[] args) {
int array[]={1,5,4,3,4,4,5,4,5,5,6,6,6,6,6};
System.out.println("重复次数最多的元素为:"+find(array));
}
}