ConcurrentNavigableMap 接口
java.util.concurrent.ConcurrentNavigableMap接口是ConcurrentMap接口的子接口,支持NavigableMap操作,并递归地支持其可导航子映射和近似匹配。
ConcurrentMap 方法
Sr.No. | 方法及描述 |
---|---|
1 | NavigableSet<K> descendingKeySet() 返回此映射中包含的键的逆序 NavigableSet 视图。 |
2 | ConcurrentNavigableMap<K,V> descendingMap() 返回此映射中包含的映射的逆序视图。 |
3 | ConcurrentNavigableMap<K,V> headMap(K toKey) 返回此映射的部分视图,其键严格小于 toKey。 |
4 | ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive) 返回此映射中键小于(或等于,如果包含为 true)toKey 的部分的视图。 |
5 | NavigableSet<K> keySet() 返回此映射中包含的键的 NavigableSet 视图。 |
6 | NavigableSet<K> navigableKeySet() 返回此映射中包含的键的 NavigableSet 视图。 |
7 | ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) 返回此映射的部分视图,其键范围为 fromKey 到 toKey。 |
8 | ConcurrentNavigableMap<K,V> subMap(K fromKey, K toKey) 返回此映射的部分视图,其键范围从 fromKey(包含)到 toKey(不包含)。 |
9 | ConcurrentNavigableMap<K,V> tailMap(K fromKey) 返回此映射中键大于或等于 fromKey 的部分的视图。 |
10 | ConcurrentNavigableMap<K,V> tailMap(K fromKey, boolean inclusive) 返回此映射中键大于(或等于,如果包含为 true)fromKey 的部分的视图。 |
示例
以下 TestThread 程序显示了 ConcurrentNavigableMap 的用法。
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}