`

HashMap自定义排序

阅读更多
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);
}

 
0
1
分享到:
评论

相关推荐

    Java 集合方面的面试题

    HashMap 和 TreeMap 有什么区别? 什么是迭代器?如何使用它来遍历集合? 什么是 fail-fast 机制? 如何使用 Collections 类对集合进行排序? 什么是 Comparable 和 Comparator 接口?它们有什么区别? 如何使用 ...

    learning-java:遵循www.caveofprogramming.com教程

    基本用法和高级用法递归:有用的窍门序列化:将对象保存到文件序列化阵列瞬态关键字和更多序列化ArrayList:简便的数组链表HashMap:通过密钥检索对象排序的地图套在集合中使用自定义对象并在地图中用作键排序清单...

    【开源】纯源码,易版everything,编译后效率极高,大工程-易语言

    哈希表类_汇编版(HashMap_ASM) 支持自定义数据值 【新】通用快速排序框架:高效、简洁、面对对象 【易-首发】极精简易代码实现完美弹出explorer右键菜单,windows shell外壳编程。 正文: 代码中共有6个文件夹,每个...

    cms后台管理

    Map, TemplateModel&gt; paramWrap = new HashMap, TemplateModel&gt;( params); //OUT_LIST值为tag_list,在类DirectiveUtils中声明,将内容列表放入其中 paramWrap.put(OUT_LIST, DEFAULT_WRAPPER.wrap(list)); //将...

    Java JDK实例宝典

    11 HashMap. Hashtable. LinkedHashMap和TreeMap 4. 12 对Map排序 4. 13 Properties属性文件 第5章 字符串 5. 1 使用String 5. 2 基本数据类型与字符串的转化 5. 3 判断Java标识符 5. ...

    java jdk实列宝典 光盘源代码

    java为数据结构中的映射定义一个接口java.util.Map,有四个实现类HashMap Hashtable LinkedHashMap TreeMap用法和区别;对Map排序; 5字符串 使用String;判断一个字符串是否是合法的java标识符;使用StringBuffer;...

    javaSE代码实例

    14.7.2 HashMap类的使用 302 14.7.3 Hashtable类的使用 303 14.7.4 LinkedHashMap类的使用 304 14.7.5 SortedMap接口与TreeMap类 305 14.7.6 映射的遍历 308 14.8 栈在Java中的实现 309 14.8.1 Stack类...

    java基础案例与开发详解案例源码全

    11.4.1 实现类HashMap284 11.4.2 实现类LinkedHashMap285 11.4.3 实现类TreeMap286 11.4.4 实现类Properties287 11.5 Collections类288 11.6 泛型概述292 11.7 本章习题300 第12章 12.1 理解线程304 12.1.1 什么是多...

    超级有影响力霸气的Java面试题大全文档

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 13、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 14、...

    leetcode2-LeetCode:力码

    HashSet/HashMap(无序) 堆/优先队列 双端队列/队列/堆栈 对/元组 自定义数据结构 细绳 堆 3. 算法 种类 [双指针](log_problems.md/#Sliding-Window-+-双指针) 二分查找 分而治之 贪婪的 位操作 拓扑排序 递归 滑动...

    skiplist:Go的快速且易于使用的跳过列表

    支持自定义可比功能,以便任何类型都可以用作键。 密钥排序顺序可以很容易地更改。 参见和 。 兰德来源和最大水平可以更改每个列表。 在对性能有严格要求的方案中很有用。安装通过go get安装此软件包。 go get ...

    java 面试题 总结

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...

    2017最新大数据架构师精英课程

    93_job 全排序-自定义分区类2 n% h" `: b4 c) C3 J9 S 94_job二次排序5 t3 Z2 R- ]( a: s* c0 Z 95_从db输入数据进行mr计算: L. M4 I6 y, R2 l/ u/ L 96_输出数据到db中 97_NLineInputFormat& u( k1 T& z( O# P, S* ...

    21天学通Java-由浅入深

    87 5.3 数组操作的举例 88 5.3.1 数组元素值的复制 88 5.3.2 数组元素的排序 90 5.3.3 在数组里查找指定元素 91 5.3.4 利用数组打印26个英文字母 92 5.4 综合练习 93 5.5 小结 94 5.6 习题 94 第二篇 面向对象篇 第6...

    疯狂JAVA讲义

    10.4.2 自定义异常类 371 10.4.3 catch和throw同时使用 371 10.4.4 异常链 373 10.5 Java的异常跟踪栈 374 10.6 异常处理规则 376 10.6.1 不要过度使用异常 377 10.6.2 不要使用过于庞大的try块 378 10.6.3 ...

    Android ListView详解

    ListView 控件可使用四种不同视图显示项目...另外,还可管理列表中项目的排序方法和选定项目的外观。 由于google doc 很多人都打不开,故更新了源码下载地址 【源码下载】—-2011-01-18  在android开发中ListView是比

    Java开发技术大全 电子版

    11.2.5哈希映射类(HashMap)使用示例347 11.2.6有序树(TreeSet)使用示例349 11.2.7有序树映射类(TreeMap)使用示例353 11.2.8枚举(Enum)使用示例355 11.2.9枚举集(EnumSet)使用示例358 11.3常用算法361...

    Java学习笔记-个人整理的

    {1.11.2.1}选择排序}{38}{subsubsection.1.11.2.1} {1.11.2.2}冒泡排序}{39}{subsubsection.1.11.2.2} {1.11.2.3}插入排序}{40}{subsubsection.1.11.2.3} {1.11.3}递归调用}{41}{subsection.1.11.3} {1.12}Java...

    JAVA核心知识点整理(有效)

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................

Global site tag (gtag.js) - Google Analytics