Class UnmodifiableTrie<K,V>
- java.lang.Object
-
- org.apache.commons.collections4.trie.UnmodifiableTrie<K,V>
-
- Type Parameters:
K
- the type of the keys in this mapV
- the type of the values in this map
- All Implemented Interfaces:
Serializable
,Map<K,V>
,SortedMap<K,V>
,Get<K,V>
,IterableGet<K,V>
,IterableMap<K,V>
,IterableSortedMap<K,V>
,OrderedMap<K,V>
,Put<K,V>
,Trie<K,V>
,Unmodifiable
public class UnmodifiableTrie<K,V> extends Object implements Trie<K,V>, Serializable, Unmodifiable
An unmodifiableTrie
.- Since:
- 4.0
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description UnmodifiableTrie(Trie<K,? extends V> trie)
Constructor that wraps (not copies).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Comparator<? super K>
comparator()
boolean
containsKey(Object key)
boolean
containsValue(Object value)
Set<Map.Entry<K,V>>
entrySet()
boolean
equals(Object obj)
K
firstKey()
Gets the first key currently in this map.V
get(Object key)
int
hashCode()
SortedMap<K,V>
headMap(K toKey)
boolean
isEmpty()
Set<K>
keySet()
K
lastKey()
Gets the last key currently in this map.OrderedMapIterator<K,V>
mapIterator()
Obtains anOrderedMapIterator
over the map.K
nextKey(K key)
Gets the next key after the one specified.SortedMap<K,V>
prefixMap(K key)
Returns a view of thisTrie
of all elements that are prefixed by the given key.K
previousKey(K key)
Gets the previous key before the one specified.V
put(K key, V value)
Note that the return type is Object, rather than V as in the Map interface.void
putAll(Map<? extends K,? extends V> m)
V
remove(Object key)
int
size()
SortedMap<K,V>
subMap(K fromKey, K toKey)
SortedMap<K,V>
tailMap(K fromKey)
String
toString()
static <K,V>
Trie<K,V>unmodifiableTrie(Trie<K,? extends V> trie)
Factory method to create a unmodifiable trie.Collection<V>
values()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Constructor Detail
-
UnmodifiableTrie
public UnmodifiableTrie(Trie<K,? extends V> trie)
Constructor that wraps (not copies).- Parameters:
trie
- the trie to decorate, must not be null- Throws:
NullPointerException
- if trie is null
-
-
Method Detail
-
unmodifiableTrie
public static <K,V> Trie<K,V> unmodifiableTrie(Trie<K,? extends V> trie)
Factory method to create a unmodifiable trie.- Type Parameters:
K
- the key typeV
- the value type- Parameters:
trie
- the trie to decorate, must not be null- Returns:
- a new unmodifiable trie
- Throws:
NullPointerException
- if trie is null
-
values
public Collection<V> values()
-
clear
public void clear()
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceGet<K,V>
- Specified by:
containsKey
in interfaceMap<K,V>
- Parameters:
key
- key whose presence in this map is to be tested- Returns:
true
if this map contains a mapping for the specified key- See Also:
Map.containsKey(Object)
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceGet<K,V>
- Specified by:
containsValue
in interfaceMap<K,V>
- Parameters:
value
- value whose presence in this map is to be tested- Returns:
true
if this map maps one or more keys to the specified value- See Also:
Map.containsValue(Object)
-
isEmpty
public boolean isEmpty()
-
put
public V put(K key, V value)
Description copied from interface:Put
Note that the return type is Object, rather than V as in the Map interface. See the class Javadoc for further info.- Specified by:
put
in interfaceMap<K,V>
- Specified by:
put
in interfacePut<K,V>
- Parameters:
key
- key with which the specified value is to be associatedvalue
- value to be associated with the specified key- Returns:
- the previous value associated with
key
, ornull
if there was no mapping forkey
. (Anull
return can also indicate that the map previously associatednull
withkey
, if the implementation supportsnull
values.) - See Also:
Map.put(Object, Object)
-
size
public int size()
-
firstKey
public K firstKey()
Description copied from interface:OrderedMap
Gets the first key currently in this map.
-
lastKey
public K lastKey()
Description copied from interface:OrderedMap
Gets the last key currently in this map.
-
prefixMap
public SortedMap<K,V> prefixMap(K key)
Description copied from interface:Trie
Returns a view of thisTrie
of all elements that are prefixed by the given key.In a
Trie
with fixed size keys, this is essentially aMap.get(Object)
operation.For example, if the
Trie
contains 'Anna', 'Anael', 'Analu', 'Andreas', 'Andrea', 'Andres', and 'Anatole', then a lookup of 'And' would return 'Andreas', 'Andrea', and 'Andres'.
-
comparator
public Comparator<? super K> comparator()
- Specified by:
comparator
in interfaceSortedMap<K,V>
-
mapIterator
public OrderedMapIterator<K,V> mapIterator()
Description copied from interface:OrderedMap
Obtains anOrderedMapIterator
over the map.A ordered map iterator is an efficient way of iterating over maps in both directions.
- Specified by:
mapIterator
in interfaceIterableGet<K,V>
- Specified by:
mapIterator
in interfaceOrderedMap<K,V>
- Returns:
- a map iterator
-
nextKey
public K nextKey(K key)
Description copied from interface:OrderedMap
Gets the next key after the one specified.- Specified by:
nextKey
in interfaceOrderedMap<K,V>
- Parameters:
key
- the key to search for next from- Returns:
- the next key, null if no match or at end
-
previousKey
public K previousKey(K key)
Description copied from interface:OrderedMap
Gets the previous key before the one specified.- Specified by:
previousKey
in interfaceOrderedMap<K,V>
- Parameters:
key
- the key to search for previous from- Returns:
- the previous key, null if no match or at start
-
hashCode
public int hashCode()
-
equals
public boolean equals(Object obj)
-
-