找出一个数组中重复次数最多的字符暨找出Map中的最大Value及其对应的Key

rt:找出Map中的最大Value及其对应的Key,常用于找出一个数组中重复次数最多的字符
import java.util.*;
public class KeyOnMaxValue{
	public static void main(String[] args) {
		Map<Integer, Integer> mp = new HashMap<Integer, Integer>();
		int maxKey = 0;
		int maxValue = 0;
		mp.put(2, 13);
		mp.put(3, 14);
		mp.put(4, 10);
		Iterator it = mp.entrySet().iterator();// 将mp的键值对通过迭代器赋给it
		while (it.hasNext()) {// 当it不为空的时候,将it赋给Map。Entry型的对象e
			Map.Entry<Integer, Integer> e = (Map.Entry) it.next();
			if (e.getValue() > maxValue) {// 当前e的value大于maxValue时
				maxValue = e.getValue();
				maxKey = e.getKey();
			}
		}
		System.out.println(maxKey + " " + maxValue);// 打印出最大的Value对应的Key和Value值
	}
}

输出:

3 14
找出一个数组中出现最多次数的字符:

import java.util.*;

public class Inputmany {
	public static void max(Map<Character, Integer> mp) {
		char maxKey = '#';
		int maxValue = 0;
		Iterator it = mp.entrySet().iterator();// 将mp的键值对通过迭代器赋给it
		while (it.hasNext()) {// 当it不为空的时候,将it赋给Map。Entry型的对象e///
			Map.Entry<Character, Integer> e = (Map.Entry) it.next();
			if (e.getValue() > maxValue) {// 当前e的value大于maxValue时
				maxValue = e.getValue();
				maxKey = e.getKey();
			}
		}
		System.out.println(maxKey + " " + maxValue);// 打印出最大的Value对应的Key和Value值
	}
	public static void main(String[] args) {
		char[] array = { 'a', 's', 'd', 'f', 'a', 'a' };
		Map mp = new HashMap();
		for (int i = 0; i < array.length; i++) {
			if (mp.containsKey(array[i])) {
				mp.put(array[i], (int) mp.get(array[i]) + 1);
			} else {
				mp.put(array[i], 1);
			}
		}
		max(mp);
	}
}
输出:

a 3




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值