求数组中重复元素最多的数

来源:互联网 发布:外戚 知乎 编辑:程序博客网 时间:2024/05/17 09:20
import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;public class FindMostFrequentArray {/** * 求数组中出现次数最多的元素 * 思路:利用map集合key值不可重复,若重复则就会覆盖之前的value。 * key对应数组中的数,value对应出现的次数 * 用containsKey判断key是否已存在,若不存在则加入map,若已存在则让value+1 * 剩下的工作,你懂的 * @param args */public static int FindMostFrequentArray(int[] a){int result=0;//出现最多的元素int most=0;//出现的最多次数Map<Integer,Integer> map=new HashMap<Integer,Integer>();for(int i=0;i<a.length;i++){if(!map.containsKey(a[i])){map.put(a[i], 1);}else{map.put(a[i], map.get(a[i])+1);}}Iterator it = map.entrySet().iterator();while(it.hasNext()){Map.Entry entry = (Entry) it.next();int key = (int) entry.getKey();int value = (int) entry.getValue();if(most<value){most = value;result = key;}}return result;}public static void main(String[] args) {// TODO Auto-generated method stubint[] a = {1,1,4,4,4,7,7,-5};System.out.println(FindMostFrequentArray(a));}}

0 0
原创粉丝点击