import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry; /*
* 取出分类优先级最高的类别名称
* 思路:
* 对于map集合中的key-value对,统计value值出现的频数,
* 将value-频数写入map集合,对频数排序,计算出最高的频数
* 输出最高频数对应得key值。
*/
public class MapTest { public static void main(String[] args) {
//创建map集合
Map<String, String> map = new HashMap<>();
map.put("Prosper", "网贷");
map.put("聚爱财", "网贷");
map.put("爱财", "网贷");
map.put("美国", "政经");
map.put("印度", "政经");
map.put("度", "政经");
map.put("比特时代", "区块链");
map.put("火币资讯", "区块链");
map.put("BTC123", "区块链");
map.put("123", "区块链");
map.put("罚单", "监管");
map.put("捷信", "大公司");
map.put("信", "大公司");
map.put("众筹", "众筹");
map.put("sefd", "众筹");
map.put("er", "政经"); //计算value出现的频数并写入map集合(res)
Map<String, Integer> res = new HashMap<>();
for(Entry<String, String> entry : map.entrySet()){
if(res.containsKey(entry.getValue())){
res.put(entry.getValue(), res.get(entry.getValue()) + 1);
}else{
res.put(entry.getValue(), 1);
}
}
System.out.println("res:" + res);
/*
* res:{区块链=4, 众筹=1, 网贷=3, 大公司=1, 政经=3, 监管=1}
*/ //对res集合中的key-value对进行排序,选出最高频数
if(res != null){
Collection<Integer> c = res.values();
Object[] obj = c.toArray();
Arrays.sort(obj);
Object i = obj[obj.length-1];
//Object ii = obj[obj.length-2];
System.out.println("最大的value值:" + i);
//System.out.println(ii);
//System.out.println(i);
//res.put("maxvalue", (Integer)i); //取出res中最大的频数对应的key(即就是取出)
String key = null;
for(String getkey : res.keySet()){
if(res.get(getkey).equals(i)){
key = getkey;
}
}
System.out.println("最大的value对应的key:" + key);
}
}
}

map集合中取出分类优先级最高的类别名称的更多相关文章

  1. Map集合中value()方法与keySet()、entrySet()区别

    http://blog.csdn.net/liu826710/article/details/9001254 在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, ...

  2. map集合中value()、keySet()、entrySet()区别

    在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键, ...

  3. Map集合中value()方法与keySet()、entrySet()区别 《转》

    在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet(): 将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键 ...

  4. map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法

    package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...

  5. Java分享笔记:使用entrySet方法获取Map集合中的元素

    /*--------------------------------- 使用entrySet方法取出Map集合中的元素: ....该方法是将Map集合中key与value的关系存入到了Set集合中,这 ...

  6. java8之list集合中取出某一属性的方法

    上代码 List<User> list = new ArrayList<User>(); User user1 = new User("第一位"," ...

  7. Map集合中的方法

    Map集合中的方法: values() 方法 : 获取集合中的所有的值----没有键,没有对应关系, KeySet() 方法: 将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代 ...

  8. c#---部分;把数组或者结构体存入集合里,然后再从集合中取出之后,输出;foreach既可以用到提取数组重点额数据,也可以提取集合中的数据(前提是集合中的元素是相同数据类型)

    1.输入班级人数,统计每个人的姓名,性别,年龄:集合与数组 //Console.Write("请输入班级人数:"); //int a = int.Parse(Console.Rea ...

  9. PHP的排列组合问题 分别从每一个集合中取出一个元素进行组合,问有多少种组合?

    首先说明这是一个数学的排列组合问题C(m,n) = m!/(n!*(m-n)!) 比如:有集合('粉色','红色','蓝色','黑色'),('38码','39码','40码'),('大号','中号') ...

随机推荐

  1. Ajax中浏览器的缓存问题解决方法

    我们在做项目中,一般提交请求都会通过ajax来提交,但是测试的时候发现,每次提交后得到的数据都是一样的,调试可以排除后台代码的问题,所以问题肯定是出在前台 每次清除缓存后,就会得到一个新的数据,所以归 ...

  2. 【PowerOJ1739&网络流24题】魔术球问题(最大流)

    题意: 思路: 0.[问题分析] 枚举答案转化为判定性问题,然后最小路径覆盖,可以转化成二分图最大匹配,从而用最大流解决. [建模方法] 枚举答案A,在图中建立节点1..A.如果对于i<j有i+ ...

  3. [CSP-S模拟测试]:小P的单调数列(树状数组+DP)

    题目描述 小$P$最近喜欢上了单调数列,他觉得单调的数列具有非常多优美的性质.经过小$P$复杂的数学推导,他计算出了一个单调增数列的艺术价值等于该数列中所有书的总和.并且以这个为基础,小$P$还可以求 ...

  4. DAY 5 上午

    或者跑一个dp dp[i]表示总花费不超过i的情况下的最短路 dij套dp o(nk)个点 对于每一个点u,建立k+1个点表示到点u花费费用为i 比如u-->v长度为c u,0-->v,c ...

  5. spring的后置处理器——BeanPostProcessor以及spring的生命周期

    后置处理器的调用时机 BeanPostProcessor是spring提供的接口,它有两个方法——postProcessBeforeInitialization.postProcessAfterIni ...

  6. Object not locked by thread before notify() in onPostExecute

    Ask Question Asked 5 years, 4 months ago Active 3 years, 9 months ago Viewed 56k time 41 2 I try to ...

  7. Package manager has died异常PackageInfo 引发 Crash

    Android 获取 PackageInfo 引发 Crash 填坑 一般 Android 通过PackageInfo这个类来获取应用安装包信息,比如应用内包含的所有Activity名称.应用版本号之 ...

  8. window.open弹窗阻止问题解决之道

    https://segmentfault.com/a/1190000015381923https://segmentfault.com/a/1190000014988094https://www.cn ...

  9. PHP超时提示Fatal error: Maximum execution time of 30,解决方案

    PHP执行超时提示如下:Fatal error: Maximum execution time of 30 seconds exceeded in D:\php\AppServ\www\sum3\te ...

  10. 【FICO系列】SAP FICO 基本概念

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP FICO 基本概念   ...