- Java并发教程
- 并发 - 首页
- 并发 - 概述
- 并发 - 环境设置
- 并发 - 主要操作
- 线程间通信
- 并发 - 同步
- 并发 - 死锁
- 实用类示例
- 并发 - ThreadLocal
- 并发 - ThreadLocalRandom
- 锁示例
- 并发 - 锁
- 并发 - 读写锁
- 并发 - 条件
- 原子变量示例
- 并发 - AtomicInteger
- 并发 - AtomicLong
- 并发 - AtomicBoolean
- 并发 - AtomicReference
- 并发 - AtomicIntegerArray
- 并发 - AtomicLongArray
- 并发 - AtomicReferenceArray
- 执行器示例
- 并发 - Executor
- 并发 - ExecutorService
- ScheduledExecutorService
- 线程池示例
- 并发 - newFixedThreadPool
- 并发 - newCachedThreadPool
- newScheduledThreadPool
- newSingleThreadExecutor
- 并发 - ThreadPoolExecutor
- ScheduledThreadPoolExecutor
- 高级示例
- 并发 - Futures 和 Callables
- 并发 - Fork-Join 框架
- 并发集合
- 并发 - BlockingQueue
- 并发 - ConcurrentMap
- 并发可导航映射
- 并发实用资源
- 并发 - 快速指南
- 并发 - 有用资源
- 并发 - 讨论
并发可导航映射接口
java.util.concurrent.ConcurrentNavigableMap 接口是 ConcurrentMap 接口的子接口,支持 NavigableMap 操作,并递归地支持其可导航子映射和近似匹配。
ConcurrentMap 方法
序号 | 方法和描述 |
---|---|
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) 返回此映射的一部分的视图,其键小于(如果 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) 返回此映射的一部分的视图,其键大于(如果 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}