Class AbstractSortedMapDecorator<K,V>
- java.lang.Object
-
- org.apache.commons.collections4.map.AbstractIterableMap<K,V>
-
- org.apache.commons.collections4.map.AbstractMapDecorator<K,V>
-
- org.apache.commons.collections4.map.AbstractSortedMapDecorator<K,V>
-
- Type Parameters:
K- the type of the keys in the mapV- the type of the values in the map
- All Implemented Interfaces:
Map<K,V>,SortedMap<K,V>,Get<K,V>,IterableGet<K,V>,IterableMap<K,V>,IterableSortedMap<K,V>,OrderedMap<K,V>,Put<K,V>
- Direct Known Subclasses:
FixedSizeSortedMap,UnmodifiableSortedMap
public abstract class AbstractSortedMapDecorator<K,V> extends AbstractMapDecorator<K,V> implements IterableSortedMap<K,V>
Provides a base decorator that enables additional functionality to be added to a Map via decoration.Methods are forwarded directly to the decorated map.
This implementation does not perform any special processing with the map views. Instead it simply returns the set/collection from the wrapped map. This may be undesirable, for example if you are trying to write a validating implementation it would provide a loophole around the validation. But, you might want that loophole, so this class is kept simple.
- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description AbstractSortedMapDecorator(SortedMap<K,V> map)Constructor that wraps (not copies).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Comparator<? super K>comparator()KfirstKey()Gets the first key currently in this map.SortedMap<K,V>headMap(K toKey)KlastKey()Gets the last key currently in this map.OrderedMapIterator<K,V>mapIterator()Obtains aMapIteratorover the map.KnextKey(K key)Gets the next key after the one specified.KpreviousKey(K key)Gets the previous key before the one specified.SortedMap<K,V>subMap(K fromKey, K toKey)SortedMap<K,V>tailMap(K fromKey)-
Methods inherited from class org.apache.commons.collections4.map.AbstractMapDecorator
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, toString, values
-
Methods inherited from interface org.apache.commons.collections4.Get
containsKey, containsValue, entrySet, get, isEmpty, keySet, remove, size, values
-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size
-
-
-
-
Constructor Detail
-
AbstractSortedMapDecorator
public AbstractSortedMapDecorator(SortedMap<K,V> map)
Constructor that wraps (not copies).- Parameters:
map- the map to decorate, must not be null- Throws:
NullPointerException- if the map is null
-
-
Method Detail
-
comparator
public Comparator<? super K> comparator()
- Specified by:
comparatorin interfaceSortedMap<K,V>
-
firstKey
public K firstKey()
Description copied from interface:OrderedMapGets the first key currently in this map.
-
lastKey
public K lastKey()
Description copied from interface:OrderedMapGets the last key currently in this map.
-
previousKey
public K previousKey(K key)
Description copied from interface:OrderedMapGets the previous key before the one specified.- Specified by:
previousKeyin interfaceOrderedMap<K,V>- Parameters:
key- the key to search for previous from- Returns:
- the previous key, null if no match or at start
-
nextKey
public K nextKey(K key)
Description copied from interface:OrderedMapGets the next key after the one specified.- Specified by:
nextKeyin interfaceOrderedMap<K,V>- Parameters:
key- the key to search for next from- Returns:
- the next key, null if no match or at end
-
mapIterator
public OrderedMapIterator<K,V> mapIterator()
Obtains aMapIteratorover the map.A map iterator is an efficient way of iterating over maps. There is no need to access the entry set or use Map Entry objects.
IterableMap<String,Integer> map = new HashedMap<String,Integer>(); MapIterator<String,Integer> it = map.mapIterator(); while (it.hasNext()) { String key = it.next(); Integer value = it.getValue(); it.setValue(value + 1); }- Specified by:
mapIteratorin interfaceIterableGet<K,V>- Specified by:
mapIteratorin interfaceOrderedMap<K,V>- Overrides:
mapIteratorin classAbstractIterableMap<K,V>- Returns:
- a map iterator
-
-