HashMap和TreeMap排序
1、TreeMap排序
TreeMap在构造过程中默认是按照Key升序排列,也可以自定义比较器
代码示例
public static void main(String[] args){TreeMap<String, String> treeMap = new TreeMap<String,String>();treeMap.put("aa", "1");treeMap.put("cc", "2");treeMap.put("dd", "3");treeMap.put("bb", "4");for(Entry<String, String> entry: treeMap.entrySet()){System.out.println("key=" + entry.getKey() + ",value=" + entry.getValue());}}
输出结果
key=aa,value=1
key=bb,value=4
key=cc,value=2
key=dd,value=3
2、HashMap排序
HashMap默认是无序的,如果想要排序的可以借助集合+Comparator实现
代码示例
public static void main(String[] args) throws ParseException{Map<String, String> hashM = new HashMap<String,String>();hashM.put("aa", "1");hashM.put("cc", "4");hashM.put("bb", "2");hashM.put("dd", "3");List<Entry<String,String>> entryList = new ArrayList<Entry<String,String>>(hashM.entrySet());System.out.println("---------排序前遍历--------------");for(Entry<String, String> entry: entryList){System.out.println("key=" + entry.getKey() + ",value=" + entry.getValue());}Collections.sort(entryList,new Comparator<Entry<String,String>>(){@Overridepublic int compare(Entry<String, String> o1, Entry<String, String> o2){
// return o1.getKey().compareTo(o2.getKey()); // 根据Key排序,默认按升序排列return o1.getValue().compareTo(o2.getValue()); // 根据Value排序,默认按升序排列} }); System.out.println("---------排序后遍历--------------");for(Entry<String, String> entry: entryList){System.out.println("key=" + entry.getKey() + ",value=" + entry.getValue());}}
运行结果
---------排序前遍历--------------
key=dd,value=3
key=aa,value=1
key=bb,value=2
key=cc,value=4
---------排序后遍历--------------
key=aa,value=1
key=bb,value=2
key=dd,value=3
key=cc,value=4
HashMap和TreeMap排序相关推荐
- 【JAVASE】HashMap与TreeMap的排序与存储对象的区别
文章目录 前言 键为整形(Integer) HashMap自动排序的情况 HashMap不会自动排序的情况 键为字符串 键为自定义类型 总结 前言 我们知道,HashMap不会对键进行排序,而Tree ...
- 【转】HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别
转自:http://blog.csdn.net/paincupid/article/details/47746341 一.HashMap和TreeMap区别 1.HashMap是基于散列表实现的,时间 ...
- 面试:如何决定使用 HashMap 还是 TreeMap?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 问:如何决定使用 HashMap 还是 TreeMap? 介绍 T ...
- java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根 ...
- HashMap、TreeMap、Hashable和LinkedHashMap
Map是最重要的数据结构之一.开始会告诉怎么用HashMap.TreeMap.Hashtable和LinkedHashMap 1.Map概述 在Java SE中有4种Map的实现:HashMap.Tr ...
- 【面试题】使用 HashMap 还是 TreeMap
基本介绍 TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照Key值升序排序的:TreeMap的实现是基于红黑树结 ...
- 1.5 Map集合:HashMap 和TreeMap 类
Map集合,HashMap,TreeMap Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键(key)对象和一个值(value)对象.用于保存具有映射关系的数据 ...
- 深入理解HashMap和TreeMap的区别
文章目录 简介 HashMap和TreeMap本质区别 排序区别 Null值的区别 性能区别 共同点 深入理解HashMap和TreeMap的区别 简介 HashMap和TreeMap是Map家族中非 ...
- Hashtable、HashMap、TreeMap总结
Hashtable.HashMap.TreeMap总结 三者均实现了Map接口,存储的内容是基于key-value的键值对映射,一个映射不能有重复的键,一个键最多只能映射一个值. (元顺初线) (1) ...
- HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别
2019独角兽企业重金招聘Python工程师标准>>> 1.HashMap.TreeMap都继承AbstractMap抽象类:TreeMap实现SortedMap接口,所以TreeM ...
最新文章
- linux 下得到进程的启动时间
- vim下自动排版命令
- 【采用】【风险管理】(第三篇)风险管理报表体系
- Spring注入日期到bean属性-CustomDateEditor
- mysql数据库连接地址utf8_在Python中连接到MySQL数据库时UTF8不工作
- Arturia Analog Lab V for Mac - 超强键盘模拟合成器
- python制作奖状,从excel表格中导出数据,取前20名,做成png奖状,再放入ppt中
- python与开源gis空间分析_Python 与开源GIS —数据处理、空间分析与地图制图
- 购买三维扫描仪的7大准则
- 牛客网项目——项目开发(十):热帖排行,生成长图,上传云服务器,性能优化
- 【Strategy模式】C++设计模式——策略模式
- 用python绘制叠加等边三角形_python 叠加等边三角形的绘制
- Kanzi软件开发与Android的关系
- java 音频播放器_JAVA音频播放器问题
- 手把手教你成为荣耀开发者:如何获取平台帮助及最新通知?
- 视频教程-21天通关Python(课+书,含邮寄)-Python
- 2022-2028全球LED气球灯行业调研及趋势分析报告
- 自动滑动背景图片html,html背景图片滚动属性bgproperties
- 高手如何做全网整合营销推广?全网营销方法和策略有哪些?
- 包含高知漫画家珍贵作品的艺术项目“NAKED Manga Mappin’!”3月6日(周五)起在高知龙马机场展出