zoukankan      html  css  js  c++  java
  • 实现对HashMap的value排序

    问题:
    如何对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 }

    运行结果:

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

  • 相关阅读:
    初涉线性基
    Codechef December Challenge 2018 Division 2
    【贪心】bzoj1592: [Usaco2008 Feb]Making the Grade 路面修整
    请求库之requests
    爬虫基本原理
    Flask-SQLAlchemy
    虚拟环境
    自定义验证规则以及中间件简单介绍
    Form组件归类
    分页与中间件
  • 原文地址:https://www.cnblogs.com/teiba/p/10620506.html
Copyright © 2011-2022 走看看