输出一个数组中出现次数最多并且最大的数字和次数

话不多说直接上代码

// 查找次数最多并且最大得数和次数
		Integer[] a = { 5, 3, 4, 7, 2, 1, 1, 5, 2, 7, 8, 3, 42, 5, 325, 2, 5, 325, 53, 2, 213, 6, 767, 5, 7, 12, 213,
				324, 24, 5 };
		Map<Integer, Integer> map = new HashMap<Integer, Integer>();
		int count = 0; // 计数器
		for (int c = 0; c < a.length; c++) {// 挨个拿出数字
			Integer b = a[c];// 获取某一个数
			for (int d = 0; d < a.length; d++) {// 挨个拿出数字对比
				Integer f = a[d];// 需要对比数字
				if (b.equals(f)) {
					count = count + 1;
				}
				if (d == a.length - 1) {// 达到最后一次
					if (map.get(count) != null) {
						if (map.get(count) < b) {
							map.put(count, b);// 次数,数字
							System.out.println(map.toString());
						}
					} else {
						map.put(count, b);// 次数,数字
						System.out.println(map.toString());
					}
					count = 0;
				}
			}
		}

		Set<Integer> keySet = map.keySet();
		int getKey = 0;
		int maxKey = 0;// 记录最大计数值
		for (Integer key : keySet) {
			// 获取key
			getKey = key;
			if (maxKey < getKey) {
				maxKey = getKey;
			}
		}
		System.out.println(map.get(maxKey) + "次数:" + maxKey);

如果有用请点赞或评论一下!!!!谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初学者_mengxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值