主要的方法
- 构造方法:
- TreeMap();
- TreeMap(Comparator<?super K> comparator);
- TreeMap(Map<? extends K,? extends V> m);
- TreeMap(SortedMap m);
- 方法:
- Map.Entry firstEntry();
- Object firstKey();
- Map.Entry lastEntry();
- Object lastKey();
- Map.Entry higherEntry(Object key);
- Object higherHey(Object key);
- Map.Entry lowerEntry(Object key);
- Object lowerKey(Object key);
- NavigableMap subMap(Object fromKey,boolean fromInclusive,Object toKey,boolean toInclusive);
- SortedMap subMap(Object fromKey,Object toKey);
- SortedMap tailMap(Object fromKey);
- NavigableMap tailMap(Object fromKey,boolean inclusive);
- SortedMap headMap(Object toKey);
- NavigableMap headMap(Object toKey,boolean inclusive);
TreeMap特点
- Set-->SoredSet-->TreeSet
- Map-->SoredMap-->TreeMap
- TreeMap用红黑树结构对Key进行排序;HashMap将key-value存储在特定位置,而TreeMap则将key-value按顺序存储
TreeMap的排序
- 自然排序:
- TreeMap所有的key都必须实现Comparable接口,都必须是同一个类的对象
- 定制排序:
- 在构造TreeMap对象是,可以传入一个排序器,即Comparator对象,这样就不需要key实现Comparable接口了
equals()、compareTo()、TreeMap
- TreeMap判断两个key相等的标准:compareTo() 返回0
- 两个key的equals()方法返回true时,compareTo()应该返回0
其他
- Set和Map的关系十分密切,Java源码先实现了HashMap、TreeMap等集合,然后通过包装一个所有的value为null的Map集合实现了Set集合类