从map中取出最大或最小value对应的key---多种写法
package com.yuwanlong.hashing; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry; /**
* @author Yu Wanlong
*/ public class ValidAnagram {
public static void main(String[] args) {
Map<String, Double> map = new HashMap();
map.put("1", 8.);
map.put("2", 12.);
map.put("3", 53.);
map.put("4", 33.);
map.put("5", 11.);
map.put("6", 3.);
map.put("7", 3.);
map.put("8", 1.);
//List<Entry<String,Integer>> list = new ArrayList(map.entrySet());
//Collections.sort(list, (o1, o2) -> (o1.getValue() - o2.getValue()));
String minKey = getMapMinOrMaxValueKey(map, "min");
String maxKey = getMapMinOrMaxValueKey(map, "max");
System.out.println(map.get(minKey));
System.out.println(map.get(maxKey));
} public static String getMapMinOrMaxValueKey(Map<String, Double> map, String choose) {
List<Entry<String,Double>> list = new ArrayList(map.entrySet());
Collections.sort(list, (o1, o2) -> (o1.getValue().intValue() - o2.getValue().intValue()));
String key = "";
if (choose.equals("min")) {
key = list.get(0).getKey();
} else if (choose.equals("max")) {
key = list.get(list.size() - 1).getKey();
}
return key;
}
}
从map中取出最大或最小value对应的key---多种写法的更多相关文章
- Map java中的map 如何修改Map中的对应元素
Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map ...
- 【方法1】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录
介绍 晚上无聊的时候,我做了一个測试题,測试题的大体意思是:删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录. 比如: I have a map with duplicate val ...
- JAVA中遍历Map和Set方法,取出map中所有的key
Java遍历Set集合 1.迭代器遍历: Set<String> set = new HashSet<String>(); Iterator<String> it ...
- map集合中取出分类优先级最高的类别名称
import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Map ...
- Ibatis中sqlmap参数map中还需要套list的情况如何写?
原始需求: 有若干个参数,需要作为ibatis拼装sql的参数传入,但是有个参数的值比较特殊,是若干种枚举值.具体到这个case,就是有有限个namespace.我每次需要通过传入多个namespac ...
- 如何在Google Map中处理大量标记(ASP.NET)(转)
如何在Google Map中处理大量标记(ASP.NET)(原创-翻译) Posted on 2010-07-29 22:04 Happy Coding 阅读(8827) 评论(8) 编辑 收藏 在你 ...
- [Spark][Python]DataFrame中取出有限个记录的例子
[Spark][Python]DataFrame中取出有限个记录的例子: sqlContext = HiveContext(sc) peopleDF = sqlContext.read.json(&q ...
- 【转】【java源码分析】Map中的hash算法分析
全网把Map中的hash()分析的最透彻的文章,别无二家. 2018年05月09日 09:08:08 阅读数:957 你知道HashMap中hash方法的具体实现吗?你知道HashTable.Conc ...
- Map中keySet和entrySet的区别
在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键, ...
随机推荐
- 科学计算工具Numpy简介
Numpy(Numerical Python) Numpy:提供了一个在Python中做科学计算的基础库,重在数值计算,主要用于多维数组(矩阵)处理的库.用来存储和处理大型矩阵,比Python自身的嵌 ...
- Android 4.4 外置卡
虾米.酷狗.百度地图.UC浏览器 下载 可以设置下载路径保存到外置SD卡上. 其他的软件目前还不支持. 最终Android 4.2是可以选择的,后来Android禁用了外置卡,以上软件是如何实现的?
- angularJS笔记之 服务
angular的服务有五种 第一种 constant 一般作为一种常量的服务 不可更改 第二种 value 用来注册服务对象或函数 可更改 第三种 factory 创建和配置服务的最快捷方式.可更改 ...
- Spring Bean定义的三种方式
<!--Spring容器启动配置(web.xml文件)--> <context-param> <param-name>contextConfigLocation&l ...
- java Web EL表达式详解
1.EL表达式的简介 EL表达式是一种JSP技术,能够代替JSP中原本要用Java语言进行显示的语句,使得代码更容易编写与维护.最基本的语法是${express}. 2.获取并显示数据 从四个域中通过 ...
- java Web中页面跳转方式之请求转发
1.在一个请求中跨越多个Servlet 2.多个Servlet在一个请求中,他们共享request对象.就是在Servlet01中setAttribute()保存数据在Servlet02中由getAt ...
- PHP自动加载配置ArrayAccess类
ArrayAccess是PHP的类,可以把对象当成数组来使用访问. Config.php 配置类 <?php namespace IMooc; class Config implements ...
- 算法描述》关于LIS的nlogn方法
上次TYVJ有一道裸LIS,然而我当时直接打了一个N^2暴力就草草了事,然后就ZZ了,只拿了60分,其实NlogN的LIS和N^2的差的不多,只是没有N^2,好想罢了,鉴于某学弟的要求,所以就重现一下 ...
- 图论算法》关于tarjan算法两三事
关于tarjan,在下觉得这个算法从本质上是一种暴力求强连通分量的方法,但事实上这也是最有效的求强连通分量的方法之一,它对于处理各种强连通分量中奇怪问题,都可以直接转化,所以比较通用和常见. 什么是t ...
- SQL SERVER 2008权限配置
我要的结果是这样:只能有查询表的权限,而且还要有运行SQL Server Profiler的权限.这样才能跟踪发现问题,当然解决问题是另外一回事,即不能有修改和更新存储过程的权限. 我在分配角色成员时 ...