找出数组中重复元素最多的数
使用Map映射表实现:
import java.util.Scanner; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Iterator; public class Main { public static void main(String[] args){ String[] str = {"3","5","1","2","2","3","2","1","1","4","4","4"}; Map<String,Integer> map = new HashMap<String,Integer>(); for(int i=0;i<str.length;i++){ if(map.containsKey(str[i])){ map.put(str[i], map.get(str[i])+1); }else{ map.put(str[i], 1); } } System.out.println(findMaxCount(map)); } public static String findMaxCount(Map<String,Integer> m){ StringBuffer max = new StringBuffer(); int num = 0; String name; int count; Iterator<Entry<String, Integer>> iter = m.entrySet().iterator(); while(iter.hasNext()){ Map.Entry<String, Integer> entry = (Map.Entry<String, Integer>) iter.next(); name = entry.getKey(); count =entry.getValue(); System.out.println("key is:"+name+"----value:"+count); if(count>num){ num = count; max.delete(0, max.length()); max.append(name+" "); }else if(count==num){ max.append(name+" "); } } return max.toString(); } }
结果: