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類,後續介紹之。

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