Java ConcurrentNavigableMap接口

1 ConcurrentNavigableMap接口的介绍

java.util.concurrent.ConcurrentNavigableMap接口是ConcurrentMap接口的子接口,并且支持NavigableMap操作,并且对其可导航子映射和近似匹配进行递归。

2 ConcurrentNavigableMap接口的方法

方法 描述
NavigableSet<K> descendingKeySet() 返回此映射中包含的键的相反顺序的NavigableSet视图。
ConcurrentNavigableMap<K,V> descendingMap() 返回此映射中包含的映射的反向排序视图。
ConcurrentNavigableMap<K,V> headMap(K toKey) 返回该映射的部分键严格小于toKey的视图。
ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive) 返回该映射的部分视图,其键值小于(或等于,如果包含值为true)toKey。
NavigableSet<K> keySet() 返回此映射中包含的键的NavigableSet视图。
NavigableSet<K> navigableKeySet() 返回此映射中包含的键的NavigableSet视图。
ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) 返回此映射部分的视图,其键范围从fromKey到toKey。
ConcurrentNavigableMap<K,V> subMap(K fromKey, K toKey) 返回此映射,其键从fromKey(包括)到toKey所述部分的视图。
ConcurrentNavigableMap<K,V> tailMap(K fromKey) 返回此映射的部分视图,其键值大于或等于fromKey。
ConcurrentNavigableMap<K,V> tailMap(K fromKey, boolean inclusive) 从映射返回一个键大于(或等于,包含值为true)部分的视图。

3 ConcurrentNavigableMap接口的案例

以下TestThread程序显示了基于线程的环境中ConcurrentNavigableMap接口的使用。

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.util.concurrent.ConcurrentNavigableMap;
import java.util.concurrent.ConcurrentSkipListMap;

public class TestThread {

   public static void main(final String[] arguments){

      ConcurrentNavigableMap<String,String> map = new ConcurrentSkipListMap<String, String>();

      map.put("1", "One");
      map.put("2", "Two");
      map.put("3", "Three");
      map.put("5", "Five");
      map.put("6", "Six");

      System.out.println("Initial ConcurrentHashMap: "+map);
      System.out.println("HeadMap(\"2\") of ConcurrentHashMap: "+map.headMap("2"));
      System.out.println("TailMap(\"2\") of ConcurrentHashMap: "+map.tailMap("2"));
      System.out.println("SubMap(\"2\", \"4\") of ConcurrentHashMap: "+map.subMap("2","4"));
   }  
}

输出结果为:

Initial ConcurrentHashMap: {1=One, 2=Two, 3=Three, 5=Five, 6=Six}
HeadMap("2") of ConcurrentHashMap: {1=One}
TailMap("2") of ConcurrentHashMap: {2=Two, 3=Three, 5=Five, 6=Six}
SubMap("2", "4") of ConcurrentHashMap: {2=Two, 3=Three}

 

热门文章

优秀文章