Map 排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by
value)。
按键排序(sort by key)
jdk 内置的 java.util 包下的 TreeMap<K,V>既可满足此类需求,原理很简单,其重载的构造器之一
java.util
类 TreeMap<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.TreeMap<K,V>
所有已实现的接口:
public class TreeMap<K,V>
extends AbstractMap<K,V>
implements SortedMap<K,V>, Cloneable, Serializable
SortedMap 接口的基于红黑树的实现。此类保证了映射按照升序顺序排列关
键字,根据使用的构造方法不同,可能会按照键的类的
自然顺序
进行排序(参
见 Comparable),或者按照创建时所提供的比较器进行排序。
此实现为 containsKey、get、put 和 remove 操作提供了保证的 log(n) 时
间开销。这些算法是 Cormen、Leiserson 和 Rivest 的《Introduction to
Algorithms》中的算法的改编。
- 1
- 2
- 3
前往页