您的位置:首页 > 其它

史上最详细的TreeMap详解--源码分析

2016-04-08 00:21 225 查看
ps.本文所有源码都是基于jdk1.6

TreeMap是一个可以排序的map,是基于红黑树实现的map

public class TreeMap<K,V>
extends AbstractMap<K,V>
implements NavigableMap<K,V>, Cloneable, java.io.Serializable


如上代码,我们可以看到,TreeMap实现了NavigableMap接口,NavigableMap实现了SortedMap接口

SortedMap接口

既然如此,我们就先说一下SortedMap接口

public interface SortedMap<K,V> extends Map<K,V> {
Comparator<? super K> comparator();   //用来返回这个map用的比较器,或者null
SortedMap<K,V> subMap(K fromKey, K toKey); //返回部分map满足key大于等于fromKey,小于toKey
SortedMap<K,V> headMap(K toKey); //返回部分map满足key小于toKey
SortedMap<K,V> tailMap(K fromKey);   //返回部分map满足key大于等于fromKey
K firstKey();  //返回第一个key(最小的key)
K lastKey();   //返回最后一个key(最大的key)
Set<K> keySet();
Collection<V> values();
Set<Map.Entry<K, V>> entrySet();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: