Package org.djutils.immutablecollections
Class ImmutableTreeMap<K,V>
java.lang.Object
org.djutils.immutablecollections.ImmutableAbstractMap<K,V>
org.djutils.immutablecollections.ImmutableTreeMap<K,V>
- Type Parameters:
 K- the key type of content of this MapV- the value type of content of this Map
- All Implemented Interfaces:
 Serializable,ImmutableMap<K,V>,ImmutableNavigableMap<K,V>,ImmutableSortedMap<K,V>
public class ImmutableTreeMap<K,V> extends ImmutableAbstractMap<K,V> implements ImmutableNavigableMap<K,V>
An immutable wrapper for a TreeMap.
 
Copyright (c) 2016-2020 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html.
- Author:
 - Alexander Verbraeck, Peter Knoppers, Wouter Schakel
 - See Also:
 - Serialized Form
 
- 
Nested Class Summary
Nested classes/interfaces inherited from interface org.djutils.immutablecollections.ImmutableMap
ImmutableMap.ImmutableEntry<K,V> - 
Field Summary
Fields inherited from class org.djutils.immutablecollections.ImmutableAbstractMap
cachedValues, copyOrWrap - 
Constructor Summary
Constructors Constructor Description ImmutableTreeMap(Map<K,V> sortedMap)ImmutableTreeMap(NavigableMap<K,V> map, Immutable copyOrWrap)ImmutableTreeMap(ImmutableAbstractMap<K,V> immutableMap)ImmutableTreeMap(ImmutableTreeMap<K,V> immutableTreeMap, Immutable copyOrWrap) - 
Method Summary
Modifier and Type Method Description KceilingKey(K key)Returns the least key in this immutable map greater than or equal to the given key, ornullif there is no such key.Comparator<? super K>comparator()Returns the comparator used to order the keys in this immutable map, ornullif this immutable map uses the natural ordering of its keys.ImmutableNavigableMap<K,V>descendingMap()Returns a reverse order view of the keys contained in this immutable map.ImmutableSortedSet<ImmutableMap.ImmutableEntry<K,V>>entrySet()Returns aSetview of the entries contained in this map.KfirstKey()Returns the first (lowest) key currently in this immutable map.KfloorKey(K key)Returns the greatest key in this immutable map less than or equal to the given key, ornullif there is no such key.protected NavigableMap<K,V>getUnderlyingMap()Return the raw underlying map.ImmutableSortedMap<K,V>headMap(K toKey)Returns a view of the portion of this immutable map whose keys are strictly less thantoKey.ImmutableNavigableMap<K,V>headMap(K toKey, boolean inclusive)Returns a view of the portion of this immutable map whose keys are less than (or equal to, ifinclusiveis true)toKey.KhigherKey(K key)Returns the least key in this immutable map strictly greater than the given key, ornullif there is no such key.ImmutableSortedSet<K>keySet()Returns aImmutableSortedSetview of the keys contained in this map.KlastKey()Returns the last (highest) key currently in this immutable map.KlowerKey(K key)Returns the greatest key in this immutable map strictly less than the given key, ornullif there is no such key.ImmutableNavigableMap<K,V>subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)Returns a view of the portion of this immutable map whose keys range fromfromKeytotoKey.ImmutableSortedMap<K,V>subMap(K fromKey, K toKey)Returns a view of the portion of this immutable map whose keys range fromfromKey, inclusive, totoKey, exclusive.ImmutableSortedMap<K,V>tailMap(K fromKey)Returns a view of the portion of this immutable map whose keys are greater than or equal tofromKey.ImmutableNavigableMap<K,V>tailMap(K fromKey, boolean inclusive)Returns a view of the portion of this immutable map whose keys are greater than (or equal to, ifinclusiveis true)fromKey.NavigableMap<K,V>toMap()Returns a modifiable copy of this immutable map.StringtoString()Force to redefine toString.ImmutableSortedSet<V>values()Returns aImmutableCollectionview of the values contained in this map.Methods inherited from class org.djutils.immutablecollections.ImmutableAbstractMap
containsKey, containsValue, equals, get, hashCode, isEmpty, isWrap, sizeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.djutils.immutablecollections.ImmutableMap
containsKey, containsValue, forEach, get, getOrDefault, isCopy, isEmpty, isWrap, sizeMethods inherited from interface org.djutils.immutablecollections.ImmutableNavigableMap
equals, hashCode 
- 
Constructor Details
- 
ImmutableTreeMap
- Parameters:
 sortedMap- Map<K,V>; the map to use for the immutable map.
 - 
ImmutableTreeMap
- Parameters:
 map- NavigableMap<K,V>; the map to use for the immutable map.copyOrWrap- COPY stores a safe, internal copy of the collection; WRAP stores a pointer to the original collection
 - 
ImmutableTreeMap
- Parameters:
 immutableMap- ImmutableAbstractMap<K,V>; the map to use for the immutable map.
 - 
ImmutableTreeMap
- Parameters:
 immutableTreeMap- ImmutableTreeMap<K,V>; the map to use for the immutable map.copyOrWrap- COPY stores a safe, internal copy of the collection; WRAP stores a pointer to the original collection
 
 - 
 - 
Method Details
- 
getUnderlyingMap
Return the raw underlying map.- Overrides:
 getUnderlyingMapin classImmutableAbstractMap<K,V>- Returns:
 - Map<K, V>; the raw underlying map
 
 - 
toMap
Returns a modifiable copy of this immutable map.- Specified by:
 toMapin interfaceImmutableMap<K,V>- Specified by:
 toMapin interfaceImmutableNavigableMap<K,V>- Specified by:
 toMapin interfaceImmutableSortedMap<K,V>- Returns:
 - a modifiable copy of this immutable map.
 
 - 
keySet
Returns aImmutableSortedSetview of the keys contained in this map.- Specified by:
 keySetin interfaceImmutableMap<K,V>- Specified by:
 keySetin interfaceImmutableNavigableMap<K,V>- Specified by:
 keySetin interfaceImmutableSortedMap<K,V>- Returns:
 - an immutable sorted set of the keys contained in this map
 
 - 
entrySet
Returns aSetview of the entries contained in this map.- Specified by:
 entrySetin interfaceImmutableMap<K,V>- Returns:
 - an immutable set of the entries contained in this map
 
 - 
values
Returns aImmutableCollectionview of the values contained in this map.- Specified by:
 valuesin interfaceImmutableMap<K,V>- Overrides:
 valuesin classImmutableAbstractMap<K,V>- Returns:
 - an immutable collection view of the values contained in this map
 
 - 
comparator
Returns the comparator used to order the keys in this immutable map, ornullif this immutable map uses the natural ordering of its keys.- Specified by:
 comparatorin interfaceImmutableSortedMap<K,V>- Returns:
 - the comparator used to order the keys in this immutable map, or 
nullif this immutable map uses the natural ordering of its keys 
 - 
subMap
Returns a view of the portion of this immutable map whose keys range fromfromKey, inclusive, totoKey, exclusive. (IffromKeyandtoKeyare equal, the returned immutable map is empty.)The result of this method is a new, immutable sorted map.
- Specified by:
 subMapin interfaceImmutableSortedMap<K,V>- Parameters:
 fromKey- K; low endpoint (inclusive) of the returned immutable maptoKey- K; high endpoint (exclusive) of the returned immutable map- Returns:
 - a new, immutable sorted map of the portion of this immutable map whose keys range from 
fromKey, inclusive, totoKey, exclusive 
 - 
headMap
Returns a view of the portion of this immutable map whose keys are strictly less thantoKey. The returned immutable map is backed by this immutable map, so changes in the returned immutable map are reflected in this immutable map, and vice-versa. The returned immutable map supports all optional immutable map operations that this immutable map supports.The result of this method is a new, immutable sorted map.
- Specified by:
 headMapin interfaceImmutableSortedMap<K,V>- Parameters:
 toKey- K; high endpoint (exclusive) of the returned immutable map- Returns:
 - a view of the portion of this immutable map whose keys are strictly less than 
toKey 
 - 
tailMap
Returns a view of the portion of this immutable map whose keys are greater than or equal tofromKey. The returned immutable map is backed by this immutable map, so changes in the returned immutable map are reflected in this immutable map, and vice-versa. The returned immutable map supports all optional immutable map operations that this immutable map supports.The result of this method is a new, immutable sorted map.
- Specified by:
 tailMapin interfaceImmutableSortedMap<K,V>- Parameters:
 fromKey- K; low endpoint (inclusive) of the returned immutable map- Returns:
 - a view of the portion of this immutable map whose keys are greater than or equal to 
fromKey 
 - 
firstKey
Returns the first (lowest) key currently in this immutable map.- Specified by:
 firstKeyin interfaceImmutableSortedMap<K,V>- Returns:
 - the first (lowest) key currently in this immutable map
 
 - 
lastKey
Returns the last (highest) key currently in this immutable map.- Specified by:
 lastKeyin interfaceImmutableSortedMap<K,V>- Returns:
 - the last (highest) key currently in this immutable map
 
 - 
lowerKey
Returns the greatest key in this immutable map strictly less than the given key, ornullif there is no such key.- Specified by:
 lowerKeyin interfaceImmutableNavigableMap<K,V>- Parameters:
 key- K; the value to match- Returns:
 - the greatest key less than 
e, ornullif there is no such key 
 - 
floorKey
Returns the greatest key in this immutable map less than or equal to the given key, ornullif there is no such key.- Specified by:
 floorKeyin interfaceImmutableNavigableMap<K,V>- Parameters:
 key- K; the value to match- Returns:
 - the greatest key less than or equal to 
e, ornullif there is no such key 
 - 
ceilingKey
Returns the least key in this immutable map greater than or equal to the given key, ornullif there is no such key.- Specified by:
 ceilingKeyin interfaceImmutableNavigableMap<K,V>- Parameters:
 key- K; the value to match- Returns:
 - the least key greater than or equal to 
e, ornullif there is no such key 
 - 
higherKey
Returns the least key in this immutable map strictly greater than the given key, ornullif there is no such key.- Specified by:
 higherKeyin interfaceImmutableNavigableMap<K,V>- Parameters:
 key- K; the value to match- Returns:
 - the least key greater than 
e, ornullif there is no such key 
 - 
descendingMap
Returns a reverse order view of the keys contained in this immutable map.The returned immutable map has an ordering equivalent to
. The expressionCollections.reverseOrder(comparator())s.descendingMap().descendingMap()returns a view ofsessentially equivalent tos.- Specified by:
 descendingMapin interfaceImmutableNavigableMap<K,V>- Returns:
 - a reverse order view of this immutable map
 
 - 
subMap
public final ImmutableNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)Returns a view of the portion of this immutable map whose keys range fromfromKeytotoKey. IffromKeyandtoKeyare equal, the returned immutable map is empty unlessfromInclusiveandtoInclusiveare both true.- Specified by:
 subMapin interfaceImmutableNavigableMap<K,V>- Parameters:
 fromKey- K; low endpoint of the returned immutable mapfromInclusive- boolean;trueif the low endpoint is to be included in the returned viewtoKey- K; high endpoint of the returned immutable maptoInclusive- boolean;trueif the high endpoint is to be included in the returned view- Returns:
 - a view of the portion of this immutable map whose keys range from 
fromKey, inclusive, totoKey, exclusive 
 - 
headMap
Returns a view of the portion of this immutable map whose keys are less than (or equal to, ifinclusiveis true)toKey.- Specified by:
 headMapin interfaceImmutableNavigableMap<K,V>- Parameters:
 toKey- K; high endpoint of the returned immutable mapinclusive- boolean;trueif the high endpoint is to be included in the returned view- Returns:
 - a view of the portion of this immutable map whose keys are less than (or equal to, if 
inclusiveis true)toKey 
 - 
tailMap
Returns a view of the portion of this immutable map whose keys are greater than (or equal to, ifinclusiveis true)fromKey.- Specified by:
 tailMapin interfaceImmutableNavigableMap<K,V>- Parameters:
 fromKey- K; low endpoint of the returned immutable mapinclusive- boolean;trueif the low endpoint is to be included in the returned view- Returns:
 - a view of the portion of this immutable map whose keys are greater than or equal to 
fromKey 
 - 
toString
Force to redefine toString. 
 -