版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/83068020
简单描述一下HashMap和TreeMap的区别
更多精彩
- 更多技术博客,请移步 asing1elife’s blog
介绍
- Map是key-value的集合接口,其实现类包括:
- HashMap - 值没有顺序
- TreeMap - key值默认升序
- LinkedHashMap - 值没有顺序
key排序
Map<String, String> map = new TreeMap<String, String>(
new Comparator<String>() {
public int compare(String obj1, String obj2) {
// 降序排序
return obj2.compareTo(obj1);
}
}
);
value排序
// 这里将map.entrySet()转换成list
List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(map.entrySet());
// 然后通过比较器来实现排序
Collections.sort(list,new Comparator<Map.Entry<String,String>>() {
// 升序排序
public int compare(Entry<String, String> o1, Entry<String, String> o2) {
return o1.getValue().compareTo(o2.getValue());
}
}
);