博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Java]HashMap的两种排序方式
阅读量:6954 次
发布时间:2019-06-27

本文共 939 字,大约阅读时间需要 3 分钟。

hot3.png

Map
<
String, Integer
>
 map 
=
 
new
 HashMap
<
String, Integer
>
();
map.put(
"
d
"
2
);
map.put(
"
c
"
1
);
map.put(
"
b
"
1
);
map.put(
"
a
"
3
);
List
<
Map.Entry
<
String, Integer
>>
 infoIds 
=
    
new
 ArrayList
<
Map.Entry
<
String, Integer
>>
(map.entrySet());
//
排序前
for
 (
int
 i 
=
 
0
; i 
<
 infoIds.size(); i
++
) {
    String id 
=
 infoIds.get(i).toString();
    System.out.println(id);
}
//
d 2
//
c 1
//
b 1
//
a 3
//
排序
Collections.sort(infoIds, 
new
 Comparator
<
Map.Entry
<
String, Integer
>>
() {   
    
public
 
int
 compare(Map.Entry
<
String, Integer
>
 o1, Map.Entry
<
String, Integer
>
 o2) {      
        
//
return (o2.getValue() - o1.getValue()); 
        
return
 (o1.getKey()).toString().compareTo(o2.getKey());
    }
}); 
//
排序后
for
 (
int
 i 
=
 
0
; i 
<
 infoIds.size(); i
++
) {
    String id 
=
 infoIds.get(i).toString();
    System.out.println(id);
}
//
根据key排序
//
a 3
//
b 1
//
c 1
//
d 2
//
根据value排序
//
a 3
//
d 2
//
b 1
//
c 1

转载于:https://my.oschina.net/u/264002/blog/129273

你可能感兴趣的文章
Anaconda 安装 OpenCV 遇到的问题
查看>>
set 集合容器实现元素的插入与中序排序
查看>>
最常使用Eclipse快捷键
查看>>
jmeter的如何设置headers
查看>>
ssh免密登入
查看>>
拖拽文件作为文件输入
查看>>
Eclipse设置智能提示
查看>>
SAP 生产订单变更管理 OCM Order Changement Management
查看>>
虚拟化这八年-【软件和信息服务】2014.11
查看>>
使用swfupload上传超过30M文件,使用FLASH上传组件
查看>>
OkHttp简介
查看>>
如何使用通用Mapper
查看>>
MYSQL建表语法(主键,外键,联合主键)
查看>>
linux基础-第十单元 系统的初始化和服务
查看>>
多线程的通信和同步(Java并发编程的艺术--笔记)
查看>>
Python格式化输出
查看>>
Linux使用du和df查看磁盘和文件夹占用空间
查看>>
java 消息机制 ActiveMQ入门实例
查看>>
CentOS 6.6 MySQL install
查看>>
从零开始用gulp
查看>>