1. import java.util.Arrays;
  2. import java.util.Collection;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import java.util.Map.Entry;
  6.  
  7. /*
  8. * 取出分类优先级最高的类别名称
  9. * 思路:
  10. * 对于map集合中的key-value对,统计value值出现的频数,
  11. * 将value-频数写入map集合,对频数排序,计算出最高的频数
  12. * 输出最高频数对应得key值。
  13. */
  14. public class MapTest {
  15.  
  16. public static void main(String[] args) {
  17. //创建map集合
  18. Map<String, String> map = new HashMap<>();
  19. map.put("Prosper", "网贷");
  20. map.put("聚爱财", "网贷");
  21. map.put("爱财", "网贷");
  22. map.put("美国", "政经");
  23. map.put("印度", "政经");
  24. map.put("度", "政经");
  25. map.put("比特时代", "区块链");
  26. map.put("火币资讯", "区块链");
  27. map.put("BTC123", "区块链");
  28. map.put("123", "区块链");
  29. map.put("罚单", "监管");
  30. map.put("捷信", "大公司");
  31. map.put("信", "大公司");
  32. map.put("众筹", "众筹");
  33. map.put("sefd", "众筹");
  34. map.put("er", "政经");
  35.  
  36. //计算value出现的频数并写入map集合(res)
  37. Map<String, Integer> res = new HashMap<>();
  38. for(Entry<String, String> entry : map.entrySet()){
  39. if(res.containsKey(entry.getValue())){
  40. res.put(entry.getValue(), res.get(entry.getValue()) + 1);
  41. }else{
  42. res.put(entry.getValue(), 1);
  43. }
  44. }
  45. System.out.println("res:" + res);
  46. /*
  47. * res:{区块链=4, 众筹=1, 网贷=3, 大公司=1, 政经=3, 监管=1}
  48. */
  49.  
  50. //对res集合中的key-value对进行排序,选出最高频数
  51. if(res != null){
  52. Collection<Integer> c = res.values();
  53. Object[] obj = c.toArray();
  54. Arrays.sort(obj);
  55. Object i = obj[obj.length-1];
  56. //Object ii = obj[obj.length-2];
  57. System.out.println("最大的value值:" + i);
  58. //System.out.println(ii);
  59. //System.out.println(i);
  60. //res.put("maxvalue", (Integer)i);
  61.  
  62. //取出res中最大的频数对应的key(即就是取出)
  63. String key = null;
  64. for(String getkey : res.keySet()){
  65. if(res.get(getkey).equals(i)){
  66. key = getkey;
  67. }
  68. }
  69. System.out.println("最大的value对应的key:" + key);
  70. }
  71. }
  72. }

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. [HG]AK 题解

    前言 什么鬼畜玩意,扶我起来,我要用__int128,这辈子都不珂能用龟速乘的... 真香. 题解 我们知道这个模数是个神奇的东西 \(2305843008676823040 = 2^{29} \ti ...

  2. 如何理解重载与重写——Overload vs Override/Overwrite

    重载: 在同一个类中,拥有类似功能的同名方法之间的关系叫做重载. 重载的条件:1.具有相同方法名和类似功能: 2.参数的类型或者个数不同: 3.与返回值无关: 重写: 在子父类的继承关系中,子类继承父 ...

  3. UE4联网游戏中让不同的客户端生成不同的Pawn类型

    效果描述 一个服务器,两个客户端,让他们连接后分别生成不同的Pawn,并且在不同的位置生成. 意义 这是个项目需求,但是我发现如果能够彻底理解并制作出这个功能,会对虚幻4内置的网络功能以及一些重要的G ...

  4. es之java插入优化(批量插入)

    插入文档操作的一种优化,因为每次插入单条文档,都会向es中发送请求.然后es执行在返回结果: 如果有大批量的文档数据需要插入,这个时候单挑插入操作显然是不合理的: 之前学习的命令行批量执行方式: PO ...

  5. 笔记本连接树莓派3b(不需要屏幕)

    一.网线直连 工具:笔记本,网线,树莓派 软件:putty 过程: 将系统烧录进SD卡后,在root里添加一个名字为“ssh”的空白文件(不需后缀名)来开启ssh服务,SD卡里的cmdline.txt ...

  6. 深入探究JVM(2) - 探秘Metaspace

    Java 8彻底将永久代移除出了HotSpot JVM,将其原有的数据迁移至Java Heap或Metaspace.这一篇文章我们来总结一下Metaspace(元空间)的特性.如有错误,敬请指出,谢谢 ...

  7. cenos 7 中firewalld开放服务端口

    转载 CentOS 7 为firewalld添加开放端口及相关资料   1.运行.停止.禁用firewalld 启动:# systemctl start  firewalld 查看状态:# syste ...

  8. 家用路由器网络设置DMZ区

    2分钟看懂DMZ区 装载 原文链接 最近看到一个名词“DMZ区”,一直充满疑问,今天对其进行了查询,理解如下: 1.DMZ是什么? 英文全名“Demilitarized Zone”,中文含义是“隔离区 ...

  9. 【洛谷P1036 选数】

    这个题显然用到了深搜的内容 让我们跟着代码找思路 #include<bits/stdc++.h>//万能头 ],ans; inline bool prime(int n)//最简单的判定素 ...

  10. django小知识

    def __str__: return self.name 在显示的时候,将原来显示的额object对象,显示成这个类的名字