zoukankan      html  css  js  c++  java
  • HashMap的两种排序方式

     1 package Test4;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Collections;
     5 import java.util.Comparator;
     6 import java.util.HashMap;
     7 import java.util.List;
     8 import java.util.Map;
     9  
    10 public class Test { 
    11 
    12     public static void main(String[] args) { 
    13         Map<String, Integer> map = new HashMap<String, Integer>();
    14         map.put("d", 2);
    15         map.put("c", 1);
    16         map.put("b", 1);
    17         map.put("a", 3);
    18 
    19         List<Map.Entry<String, Integer>> infoIds = 
    new ArrayList<Map.Entry<String, Integer>>(map.entrySet()); 21     //ArrayList(Collection<? extends E> c)是ArrayList的一个不常用的构造方法,
    构造一个包含指定 collection 的元素的列表。
    22 23 //排序前 24 for (int i = 0; i < infoIds.size(); i++) { 25 String key= infoIds.get(i).getKey(); 26 int value= infoIds.get(i).getValue(); 27 System.out.println(key+":"+value); 28 } 29 /*输出结果: 30 d:2 31 b:1 32 c:1 33 a:3 */ 34 35 //排序 36 //重写compare方法 37 Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() { 38 public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { 39 //return (o2.getValue() - o1.getValue()); //根据value排序 40 return (o1.getKey()).toString().compareTo(o2.getKey());//根据key排序 41 } 42 }); 43 44 //排序后 45 for (int i = 0; i < infoIds.size(); i++) { 46 String key= infoIds.get(i).getKey(); 47 int value= infoIds.get(i).getValue(); 48 System.out.println(key+":"+value); 49 } 50 //根据key排序 51 //a:3 52 //b:1 53 //c:1 54 //d:2 55 //根据value排序 56 //a:3 57 //d:2 58 //b:1 59 //c:1 60 } 61 }
  • 相关阅读:
    磁盘映射命令
    CentOS 配置XWIN/VNC
    生成一个随机数,让用户输入猜这个数字,有三次机会
    自己练习读取写入txt
    python学习笔记:文件操作和集合(转)
    接口测试基础
    nginx_tomcat负载均衡环境
    mysql索引
    shell脚本
    linux基础知识(四)
  • 原文地址:https://www.cnblogs.com/lyr2015/p/4758529.html
Copyright © 2011-2022 走看看