Interface ConcurrentNavigableMap<K,V>
- Type Parameters:
K- the type of keys maintained by this mapV- the type of mapped values
- All Superinterfaces:
ConcurrentMap<K,V>,Map<K,V>,NavigableMap<K,V>,SortedMap<K,V>
- All Known Implementing Classes:
ConcurrentSkipListMap
public interface ConcurrentNavigableMap<K,V> extends ConcurrentMap<K,V>, NavigableMap<K,V>
ConcurrentMap supporting NavigableMap operations,
and recursively so for its navigable sub-maps.- Since:
- 1.6
- Author:
- Doug Lea
-
Nested Class Summary
-
Method Summary
Modifier and Type Method Description NavigableSet<K>descendingKeySet()Returns a reverse orderNavigableSetview of the keys contained in this map.ConcurrentNavigableMap<K,V>descendingMap()Returns a reverse order view of the mappings contained in this map.ConcurrentNavigableMap<K,V>headMap(K toKey)Returns a sorted map over a range of this sorted map with all keys that are less than the specifiedendKey.ConcurrentNavigableMap<K,V>headMap(K toKey, boolean inclusive)Returns a view of the portion of this map whose keys are less than (or equal to, ifinclusiveis true)toKey.NavigableSet<K>keySet()Returns aNavigableSetview of the keys contained in this map.NavigableSet<K>navigableKeySet()Returns aNavigableSetview of the keys contained in this map.ConcurrentNavigableMap<K,V>subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)Returns a view of the portion of this map whose keys range fromfromKeytotoKey.ConcurrentNavigableMap<K,V>subMap(K fromKey, K toKey)Returns a sorted map over a range of this sorted map with all keys greater than or equal to the specifiedstartKeyand less than the specifiedendKey.ConcurrentNavigableMap<K,V>tailMap(K fromKey)Returns a sorted map over a range of this sorted map with all keys that are greater than or equal to the specifiedstartKey.ConcurrentNavigableMap<K,V>tailMap(K fromKey, boolean inclusive)Returns a view of the portion of this map whose keys are greater than (or equal to, ifinclusiveis true)fromKey.Methods inherited from interface java.util.concurrent.ConcurrentMap
putIfAbsent, remove, replace, replaceMethods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, put, putAll, remove, size, valuesMethods inherited from interface java.util.NavigableMap
ceilingEntry, ceilingKey, firstEntry, floorEntry, floorKey, higherEntry, higherKey, lastEntry, lowerEntry, lowerKey, pollFirstEntry, pollLastEntryMethods inherited from interface java.util.SortedMap
comparator, firstKey, lastKey
-
Method Details
-
subMap
ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)Description copied from interface:NavigableMapReturns a view of the portion of this map whose keys range fromfromKeytotoKey. IffromKeyandtoKeyare equal, the returned map is empty unlessfromExclusiveandtoExclusiveare both true. The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map supports all optional map operations that this map supports.The returned map will throw an
IllegalArgumentExceptionon an attempt to insert a key outside of its range, or to construct a submap either of whose endpoints lie outside its range.- Specified by:
subMapin interfaceNavigableMap<K,V>- Parameters:
fromKey- low endpoint of the keys in the returned mapfromInclusive-trueif the low endpoint is to be included in the returned viewtoKey- high endpoint of the keys in the returned maptoInclusive-trueif the high endpoint is to be included in the returned view- Returns:
- a view of the portion of this map whose keys range from
fromKeytotoKey - Throws:
ClassCastException- iffromKeyandtoKeycannot be compared to one another using this map's comparator (or, if the map has no comparator, using natural ordering). Implementations may, but are not required to, throw this exception iffromKeyortoKeycannot be compared to keys currently in the map.NullPointerException- iffromKeyortoKeyis null and this map does not permit null keysIllegalArgumentException- iffromKeyis greater thantoKey; or if this map itself has a restricted range, andfromKeyortoKeylies outside the bounds of the range
-
headMap
Description copied from interface:NavigableMapReturns a view of the portion of this map whose keys are less than (or equal to, ifinclusiveis true)toKey. The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map supports all optional map operations that this map supports.The returned map will throw an
IllegalArgumentExceptionon an attempt to insert a key outside its range.- Specified by:
headMapin interfaceNavigableMap<K,V>- Parameters:
toKey- high endpoint of the keys in the returned mapinclusive-trueif the high endpoint is to be included in the returned view- Returns:
- a view of the portion of this map whose keys are less than
(or equal to, if
inclusiveis true)toKey - Throws:
ClassCastException- iftoKeyis not compatible with this map's comparator (or, if the map has no comparator, iftoKeydoes not implementComparable). Implementations may, but are not required to, throw this exception iftoKeycannot be compared to keys currently in the map.NullPointerException- iftoKeyis null and this map does not permit null keysIllegalArgumentException- if this map itself has a restricted range, andtoKeylies outside the bounds of the range
-
tailMap
Description copied from interface:NavigableMapReturns a view of the portion of this map whose keys are greater than (or equal to, ifinclusiveis true)fromKey. The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map supports all optional map operations that this map supports.The returned map will throw an
IllegalArgumentExceptionon an attempt to insert a key outside its range.- Specified by:
tailMapin interfaceNavigableMap<K,V>- Parameters:
fromKey- low endpoint of the keys in the returned mapinclusive-trueif the low endpoint is to be included in the returned view- Returns:
- a view of the portion of this map whose keys are greater than
(or equal to, if
inclusiveis true)fromKey - Throws:
ClassCastException- iffromKeyis not compatible with this map's comparator (or, if the map has no comparator, iffromKeydoes not implementComparable). Implementations may, but are not required to, throw this exception iffromKeycannot be compared to keys currently in the map.NullPointerException- iffromKeyis null and this map does not permit null keysIllegalArgumentException- if this map itself has a restricted range, andfromKeylies outside the bounds of the range
-
subMap
Description copied from interface:NavigableMapReturns a sorted map over a range of this sorted map with all keys greater than or equal to the specifiedstartKeyand less than the specifiedendKey. Changes to the returned sorted map are reflected in this sorted map and vice versa.Note: The returned map will not allow an insertion of a key outside the specified range.
Equivalent to
subMap(fromKey, true, toKey, false).- Specified by:
subMapin interfaceNavigableMap<K,V>- Specified by:
subMapin interfaceSortedMap<K,V>- Parameters:
fromKey- the low boundary of the range (inclusive).toKey- the high boundary of the range (exclusive),- Returns:
- a sorted map with the key from the specified range.
- Throws:
ClassCastException- if the class of the start or end key is inappropriate for this sorted map.NullPointerException- if the start or end key isnulland this sorted map does not supportnullkeys.IllegalArgumentException- if the start key is greater than the end key, or if this map is itself a sorted map over a range of another sorted map and the specified range is outside of its range.
-
headMap
Description copied from interface:NavigableMapReturns a sorted map over a range of this sorted map with all keys that are less than the specifiedendKey. Changes to the returned sorted map are reflected in this sorted map and vice versa.Note: The returned map will not allow an insertion of a key outside the specified range.
Equivalent to
headMap(toKey, false).- Specified by:
headMapin interfaceNavigableMap<K,V>- Specified by:
headMapin interfaceSortedMap<K,V>- Parameters:
toKey- the high boundary of the range specified.- Returns:
- a sorted map where the keys are less than
endKey. - Throws:
ClassCastException- if the class of the end key is inappropriate for this sorted map.NullPointerException- if the end key isnulland this sorted map does not supportnullkeys.IllegalArgumentException- if this map is itself a sorted map over a range of another map and the specified key is outside of its range.
-
tailMap
Description copied from interface:NavigableMapReturns a sorted map over a range of this sorted map with all keys that are greater than or equal to the specifiedstartKey. Changes to the returned sorted map are reflected in this sorted map and vice versa.Note: The returned map will not allow an insertion of a key outside the specified range.
Equivalent to
tailMap(fromKey, true).- Specified by:
tailMapin interfaceNavigableMap<K,V>- Specified by:
tailMapin interfaceSortedMap<K,V>- Parameters:
fromKey- the low boundary of the range specified.- Returns:
- a sorted map where the keys are greater or equal to
startKey. - Throws:
ClassCastException- if the class of the start key is inappropriate for this sorted map.NullPointerException- if the start key isnulland this sorted map does not supportnullkeys.IllegalArgumentException- if this map itself a sorted map over a range of another map and the specified key is outside of its range.
-
descendingMap
ConcurrentNavigableMap<K,V> descendingMap()Returns a reverse order view of the mappings contained in this map. The descending map is backed by this map, so changes to the map are reflected in the descending map, and vice-versa.The returned map has an ordering equivalent to
Collections.reverseOrder(comparator()). The expressionm.descendingMap().descendingMap()returns a view ofmessentially equivalent tom.- Specified by:
descendingMapin interfaceNavigableMap<K,V>- Returns:
- a reverse order view of this map
-
keySet
NavigableSet<K> keySet()Returns aNavigableSetview of the keys contained in this map. The set's iterator returns the keys in ascending order. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. The set supports element removal, which removes the corresponding mapping from the map, via theIterator.remove,Set.remove,removeAll,retainAll, andclearoperations. It does not support theaddoraddAlloperations.The view's
iteratoris a "weakly consistent" iterator that will never throwConcurrentModificationException, and guarantees to traverse elements as they existed upon construction of the iterator, and may (but is not guaranteed to) reflect any modifications subsequent to construction.This method is equivalent to method
navigableKeySet. -
descendingKeySet
NavigableSet<K> descendingKeySet()Returns a reverse orderNavigableSetview of the keys contained in this map. The set's iterator returns the keys in descending order. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. The set supports element removal, which removes the corresponding mapping from the map, via theIterator.remove,Set.remove,removeAll,retainAll, andclearoperations. It does not support theaddoraddAlloperations.The view's
iteratoris a "weakly consistent" iterator that will never throwConcurrentModificationException, and guarantees to traverse elements as they existed upon construction of the iterator, and may (but is not guaranteed to) reflect any modifications subsequent to construction.- Specified by:
descendingKeySetin interfaceNavigableMap<K,V>- Returns:
- a reverse order navigable set view of the keys in this map
-