zoukankan      html  css  js  c++  java
  • map集合中取出分类优先级最高的类别名称

     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 }
  • 相关阅读:
    上传文件至服务器(图片)
    centos7语言更改
    centos7无法访问虚拟机web服务
    Java中四种访问权限总结
    线程和进程、程序、应用程序之间的关系
    kafka
    图文并茂理解iptables
    扩展模块
    根据子网掩码计算最大主机数
    iptables匹配条件总结1
  • 原文地址:https://www.cnblogs.com/lyywj170403/p/9373247.html
Copyright © 2011-2022 走看看