HashMap根据value值排序
/**
* hashMap排序
* @author lizhibiao
* @date 2018/12/3 11:47
*/
public class TestHashMapCollections
{
public static void main(String[] args)
{
Map<String, Integer> map = new HashMap<>();
map.put("王二", 8);
map.put("沈吴", 2);
map.put("小菜", 3);
map.put("大鸟", 1);
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
for (Map.Entry s : entrySet)
{
System.out.println(s.getKey()+"--"+s.getValue());
}
System.out.println("============排序后============");
//////借助list实现hashMap排序//////
//注意 ArrayList<>() 括号里要传入map.entrySet()
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>()
{
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2)
{
//按照value值,重小到大排序
// return o1.getValue() - o2.getValue();
//按照value值,从大到小排序
// return o2.getValue() - o1.getValue();
//按照value值,用compareTo()方法默认是从小到大排序
return o1.getValue().compareTo(o2.getValue());
}
});
//注意这里遍历的是list,也就是我们将map.Entry放进了list,排序后的集合
for (Map.Entry s : list)
{
System.out.println(s.getKey()+"--"+s.getValue());
}
}
}

HashMap根据value值排序的更多相关文章
- 如何对hashmap按value值排序
http://bbs.csdn.net/topics/90321713 这个帖子中没有我想要的答案,treemap是根据key排序的,想以value排序,那么可以key,value互换一下,不过这样的 ...
- 按照HashMap中value值进行排序
import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; ...
- 搜狗面试的经典题(C++map按值排序,class struct的差别)
一:起因 (1)java Map排序(key,value).请看还有一篇博客 java Map排序 (2)c++ map排序(key,value),能够对c++ map和java Map进行对照:之 ...
- Java中Map<Key, Value>存储结构根据值排序(sort by values)
需求:Map<key, value>中可以根据key, value 进行排序,由于 key 都是唯一的,可以很方便的进行比较操作,但是每个key 对应的value不是唯一的,有可能出现多个 ...
- php usort 按照数组中的某个键值排序
//php usort 按照数组中的某个键值排序 如果第一个参数小于第二个参数 -> 返回小于0的整数如果第一个参数等于于第二个参数 -> 返回等于0的整数如果第一个参数大于于第二个参数 ...
- SQL 按特定字段值排序
SQL 按特定字段值排序的代码,有需要的朋友可以参考下. id, name shandong01 name1 shandong02 name2 shandong03 name3 beijing01 n ...
- Java-->把txt中的所有字符按照码表值排序
--> List 列表中的自动添加的多余空间长度该怎么去除呢?...(已解决,是char 数组中的空字符) package com.dragon.java.filesort; import ja ...
- PHP 按二维数组的键值排序
/** * 按二维数组的键值排序 * @param unknown $array 二维数组 * @param unknown $key 二维数组的键值 * @param string $order 升 ...
- 输入一个字符串,去掉重复的字符,并按ASCII值排序-华为机试
import java.util.Scanner; //输入字符串,去掉重复的字符,并按ASSIC码值排序 public class quChong { public static void main ...
随机推荐
- 【小知识】比较 x^y 和 y^x 的大小
往前翻几个编号相邻的题目翻到了这么一道题,感觉很好奇就做了一下 (upd:我下午问了下出题人做法,他就把题隐藏了……这不太友好啊……所以我补一下题意:) 题意 给你两个整数 $x$ 和 $y$,求 $ ...
- p1364 医院设置 题解
思路:floyd 很普通的思路. 先用floyd求出两个边之间的距离,然后乘以人数. 代码: #include<iostream> #include<cstring> usin ...
- SpringBoot 出现内置的Tomcat没有启动的情况
Tomcat未启动,也未报错 pom.xml文件中增加 <dependency> <groupId>org.springframework.cloud</groupId& ...
- 多项式FFT/NTT模板(含乘法/逆元/log/exp/求导/积分/快速幂)
自己整理出来的模板 存在的问题: 1.多项式求逆常数过大(尤其是浮点数FFT) 2.log只支持f[0]=1的情况,exp只支持f[0]=0的情况 有待进一步修改和完善 FFT: #include&l ...
- ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机【OK】
ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机[OK] 使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能 ...
- 前端js之JQuery
目录 jQuery介绍 jQuery的优势 jQuery内容 jQuery对象 jQuery基础语法结构 jQuery 使用注意事项 查找标签 基本选择器 层级选择器 基本选择器 属性选择器 表单筛选 ...
- centos7安装android studio遇到Unable to run mksdcard sdk tool
centos系统为最小化安装,所以安装新软件时缺少许多依赖包,Android Studio下载的mksdcard是32位的,而系统是64位的,所以需要安装支持32位软件的依赖包. sudo yum i ...
- vue 绑定class、v-bind:style(对象语法、数组语法)
绑定 HTML Class 我们可以传给 v-bind:class 一个对象,以动态地切换 class: 内联样式在模板里 <div id="div1" :class=&qu ...
- [人物存档]【AI少女】【捏脸数据】写实系列
点击下载:AISChaF_20191023202713797.zip 点击下载:AISChaF_20191023202713797.zip
- TTTTTTTTTTT POJ 2749 修牛棚 2-Sat + 路径限制 变形
Building roads Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7019 Accepted: 2387 De ...