map集合中取出分类优先级最高的类别名称
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集合中取出分类优先级最高的类别名称的更多相关文章
- Map集合中value()方法与keySet()、entrySet()区别
http://blog.csdn.net/liu826710/article/details/9001254 在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, ...
- map集合中value()、keySet()、entrySet()区别
在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键, ...
- Map集合中value()方法与keySet()、entrySet()区别 《转》
在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet(): 将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键 ...
- map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法
package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...
- Java分享笔记:使用entrySet方法获取Map集合中的元素
/*--------------------------------- 使用entrySet方法取出Map集合中的元素: ....该方法是将Map集合中key与value的关系存入到了Set集合中,这 ...
- java8之list集合中取出某一属性的方法
上代码 List<User> list = new ArrayList<User>(); User user1 = new User("第一位"," ...
- Map集合中的方法
Map集合中的方法: values() 方法 : 获取集合中的所有的值----没有键,没有对应关系, KeySet() 方法: 将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代 ...
- c#---部分;把数组或者结构体存入集合里,然后再从集合中取出之后,输出;foreach既可以用到提取数组重点额数据,也可以提取集合中的数据(前提是集合中的元素是相同数据类型)
1.输入班级人数,统计每个人的姓名,性别,年龄:集合与数组 //Console.Write("请输入班级人数:"); //int a = int.Parse(Console.Rea ...
- PHP的排列组合问题 分别从每一个集合中取出一个元素进行组合,问有多少种组合?
首先说明这是一个数学的排列组合问题C(m,n) = m!/(n!*(m-n)!) 比如:有集合('粉色','红色','蓝色','黑色'),('38码','39码','40码'),('大号','中号') ...
随机推荐
- 千呼万唤始出来——DataV私有部署功能
DataV的开发者们,今天进入你的用户中心,就会发现有一个小惊喜默默的在等待着你.那就是——私有部署功能上线啦! 一直以来私有部署都是一些有需要的小伙伴所望尘莫及的,毕竟高贵的身份摆在那里,现在不用再 ...
- spring学习笔记之---JDBC Template
JDBC Template(简化持久化操作) (一)创建项目 (1)Maven配置 <dependencies> <dependency> <groupId>ju ...
- RedisTemplate访问Redis数据结构(前言)
Redis五种基本数据结构 redis提供键值对的形式对数据进行存储.支持五种数据类型:String(字符串),List(链表),Hash(散列),Set(无序集合),ZSet(有序集合).下面是网上 ...
- es之得分(加权)
随着应用程序的增长,提高搜索质量的需求也进一步增大.我们把它叫做搜索体验.我们需要知道什么对用户更重要,关注用户如何使用搜索功能.这导致不同的结论,例如,有些文档比其他的更重要,或特定查询需强调一个字 ...
- 大数据笔记(六)——HDFS的底层原理:JAVA动态代理和RPC
一.Java的动态代理对象 实现代码如下: 1.接口类MyService package hdfs.proxy; public interface MyService { public void me ...
- 谷歌 AXURE RP EXTENSION拓展问题
我们打开某种文件页面是 会提示我们下载 AXURE RP EXTENSION 拓展. 其实我们可以直接用ie浏览器打开即可,不用下载
- 【后台管理系统】—— Ant Design Pro组件使用(一)
一.搜索Search 搜索框 <Search placeholder="请输入关键字" defaultValue={kw && kw != 'nul ...
- qbzt day7上午
由于优盘咕咕咕了,所以这篇就咕咕咕了 以后还会补上的 qwq
- tar命令: 解压到指定的目录, 解压并删除原tar文件
-f: 置顶文件名, 后面不能再跟其他选项字母了,必须是文件名, 但是再在这个后面又可以跟 -? 选项: -C: 指定解压到的目的目录 不是-c, 小写的-c是创建. -p保留原来文件的属性. tar ...
- LongAccumulator 源码分析
LongAccumulator LongAccumulator 能解决什么问题?什么时候使用 LongAccumulator? 1)LongAccumulator 的逻辑和 LongAdder 基本类 ...