码迷,mamicode.com
首页 > 编程语言 > 详细

实现对HashMap的value排序

时间:2019-03-29 13:12:40      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:entry   apt   err   shm   顺序   cti   字典顺序   int   app   

问题:
如何对HashMap中的value值进行排序

关键点:
1.取HashMap的Map.Entry,放入List
2.利用Collections.sort(List, Comparator<? extents T>)对Map.Entry中的value进行排序
3.实现内部类Comparator,实现String的compare方法

代码:

 1 import java.util.*;
 2 
 3 public class HashMapTest {
 4 
 5     public static void main(String[] args){
 6         HashMap<String, String> map = new HashMap<>();
 7         map.put("one", "good");
 8         map.put("two", "bad");
 9         map.put("three", "happy");
10         map.put("fourth", "sad");
11 
12         List<Map.Entry<String, String>> listEntry = new ArrayList<>();
13         listEntry.addAll(map.entrySet());
14         Collections.sort(listEntry, new Comparator<Map.Entry<String, String>>() {
15             @Override
16             public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
17 
18                 // String的compareTo方法,返回负数,说明o1在o2的字典顺序之前。
19                 return o1.getValue().compareTo(o2.getValue());
20             }
21         });
22 
23         for(Map.Entry<String, String> entry : listEntry){
24             System.out.println(entry.getKey() + "  " + entry.getValue());
25         }
26     }
27 }

运行结果:

技术图片

结果按照英文字母表的顺序排序。

实现对HashMap的value排序

标签:entry   apt   err   shm   顺序   cti   字典顺序   int   app   

原文地址:https://www.cnblogs.com/teiba/p/10620506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!