Java中的Map【五】ConcurrentNavigableMap接口
所使用的jdk版本为1.8版本,先看一下ConcurrentNavigableMap
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类,后续介绍之。
还没有评论,来说两句吧...