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---多种写法的更多相关文章

  1. Map java中的map 如何修改Map中的对应元素

    Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象.         Map的接口         Map ...

  2. 【方法1】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录

    介绍 晚上无聊的时候,我做了一个測试题,測试题的大体意思是:删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录. 比如: I have a map with duplicate val ...

  3. JAVA中遍历Map和Set方法,取出map中所有的key

    Java遍历Set集合 1.迭代器遍历: Set<String> set = new HashSet<String>(); Iterator<String> it ...

  4. map集合中取出分类优先级最高的类别名称

    import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Map ...

  5. Ibatis中sqlmap参数map中还需要套list的情况如何写?

    原始需求: 有若干个参数,需要作为ibatis拼装sql的参数传入,但是有个参数的值比较特殊,是若干种枚举值.具体到这个case,就是有有限个namespace.我每次需要通过传入多个namespac ...

  6. 如何在Google Map中处理大量标记(ASP.NET)(转)

    如何在Google Map中处理大量标记(ASP.NET)(原创-翻译) Posted on 2010-07-29 22:04 Happy Coding 阅读(8827) 评论(8) 编辑 收藏 在你 ...

  7. [Spark][Python]DataFrame中取出有限个记录的例子

    [Spark][Python]DataFrame中取出有限个记录的例子: sqlContext = HiveContext(sc) peopleDF = sqlContext.read.json(&q ...

  8. 【转】【java源码分析】Map中的hash算法分析

    全网把Map中的hash()分析的最透彻的文章,别无二家. 2018年05月09日 09:08:08 阅读数:957 你知道HashMap中hash方法的具体实现吗?你知道HashTable.Conc ...

  9. Map中keySet和entrySet的区别

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

随机推荐

  1. 第二章 MySQL的安装与配置(待续)

    ·······

  2. PHP 乘法口诀表

    echo "乘法口诀表<br>"; for($i=1;$i<10;$i++) { for ($j = 1; $j <= $i; $j++) printf(& ...

  3. IDE 文件查找快捷键被占

    快捷键 Ctrl+Shift+F 被搜狗输入法抢占了. 打开搜狗输入法里的快捷键设置,去掉,my ide is ok!

  4. STA组件好资料

    http://blog.h5min.cn/zj510/article/details/38824353 http://download.csdn.net/user/zj510/uploads/1 ht ...

  5. CE学习记录1

    主题 春节放假终于有空学习下怎么制作外挂啦......学习写外挂大概是我一开始学习计算机的动力吧....只是一直似懂非懂..看教学视频各种不明白为什么....也没有专门的时间学习下怎么写....春节有 ...

  6. springmvc高级知识点

  7. C#使用HttpHelper类抓取html网页内容

    HttpHelper类(苏飞版)下载地址: http://www.sufeinet.com/thread-3-1-1.html 使用方法及说明(摘自:http://blog.csdn.net/smar ...

  8. 4-2 线程安全性-原子性-atomic-2

    AtomicReference和AtomicLong.AtomicInteger很像,方法也基本上是一样的,然后我们通过引用Integer来做一个简单的例子. com.mmall.concurrenc ...

  9. 03-nginx虚拟主机配置

    不想用kill命令控制nginx也行,但是其他命令没有信号的命令丰富.重读配置文件不用重启nginx(软重启).完全可以使用stop(强制退出).quick(优雅退出).reopen(重新打开日志). ...

  10. day18-事务与连接池 1.复习

    实际开发中事务必须得用.