Java 怎么算一组array中每个数字出现的次数, 如果某个数字出现次数是最多的,就输出这个数,

Java怎么算一组array中每个数字出现的次数,如果某个数字出现次数是最多的,就输出这个数,如果有和它出现次数一样都是最多的就输出-1... Java 怎么算一组array中每个数字出现的次数, 如果某个数字出现次数是最多的,就输出这个数,如果有和它出现次数一样都是最多的就输出-1 展开
 我来答
在晴天的雨伞
2016-05-03 · TA获得超过6869个赞
知道大有可为答主
回答量:5761
采纳率:86%
帮助的人:1197万
展开全部
public static void main(String[] args) { int array[]={5, 10, 10, 5, 2, 5, 3, 5, 10, 5, 2, 5, 5, 10, 1, 5, 1}; Arrays.sort(array);// 给数组排序 int count=0; int tmp=array[0]; Map map=new HashMap(); for(int i=0; i < array.length; i++) { if(tmp != array[i]) { tmp=array[i]; count=1; } else { count++; } map.put(array[i], count); } map=sortByValue(map); Set<Integer> key = map.keySet(); for (Iterator it = key.iterator(); it.hasNext();) { Integer s = (Integer) it.next(); System.out.println(s+"出现了"+map.get(s)); } } public static Map sortByValue(Map map) { List list=new LinkedList(map.entrySet()); Collections.sort(list, new Comparator() { // 将链表按照值得从小到大进行排序 public int compare(Object o1, Object o2) { return ((Comparable)((Map.Entry)(o2)).getValue()).compareTo(((Map.Entry)(o1)).getValue()); } }); Map result=new LinkedHashMap(); for(Iterator it=list.iterator(); it.hasNext();) { Map.Entry entry=(Map.Entry)it.next(); result.put(entry.getKey(), entry.getValue()); } return result; }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式