Java中的Map【五】ConcurrentNavigableMap接口

        所使用的jdk版本为1.8版本,先看一下ConcurrentNavigableMap<K,V>在JDK中Map的UML类图中的位置:

2.1.5 ConcurrentNavigableMap接口  

       通过对前面NavigableMap接口和ConcurrentMap接口的分析,ConcurrentNavigableMap接口就很简单了,从定义上看,它继承了NavigableMap和ConcurrentMap这两个接口子Map,就是两者功能的结合,既保证线程安全性,又提供导航搜索子Map视图的功能。ConcurrentNavigableMap中定义的方法也很简单,跟NavigableMap中的方法类似,只不过NavigableMap中返回的子Map视图是NavigableMap类型,而在ConcurrentNavigableMap中返回的都是ConcurrentNavigableMap类型,比如:

public interface ConcurrentNavigableMap<K,V>
    extends ConcurrentMap<K,V>, NavigableMap<K,V>
{
    /**
     * @throws ClassCastException       {@inheritDoc}
     * @throws NullPointerException     {@inheritDoc}
     * @throws IllegalArgumentException {@inheritDoc}
     */
    ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive,
                                       K toKey,   boolean toInclusive);

    /**
     * @throws ClassCastException       {@inheritDoc}
     * @throws NullPointerException     {@inheritDoc}
     * @throws IllegalArgumentException {@inheritDoc}
     */
    ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive);

    /**
     * @throws ClassCastException       {@inheritDoc}
     * @throws NullPointerException     {@inheritDoc}
     * @throws IllegalArgumentException {@inheritDoc}
     */
    ConcurrentNavigableMap<K,V> tailMap(K fromKey, boolean inclusive);

ConcurrentNavigableMap接口中的一个实现类是ConcurrentSkipListMap类,后续介绍之。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章