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 map
V - 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 unmodifiable Trie.
Since:
4.0
See Also:
  • Constructor Details Link icon

    • UnmodifiableTrie Link icon

      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 Details Link icon

    • unmodifiableTrie Link icon

      public static <K, V> Trie<K,V> unmodifiableTrie(Trie<K,? extends V> trie)
      Factory method to create an unmodifiable trie.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      trie - the trie to decorate, must not be null
      Returns:
      a new unmodifiable trie
      Throws:
      NullPointerException - if trie is null
    • clear Link icon

      public void clear()
      Description copied from interface: Put
      Removes all of the mappings from this map.
      Specified by:
      clear in interface Map<K,V>
      Specified by:
      clear in interface Put<K,V>
      See Also:
    • comparator Link icon

      public Comparator<? super K> comparator()
      Specified by:
      comparator in interface SortedMap<K,V>
    • containsKey Link icon

      public boolean containsKey(Object key)
      Description copied from interface: Get
      Tests for presence of a given key.
      Specified by:
      containsKey in interface Get<K,V>
      Specified by:
      containsKey in interface Map<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:
    • containsValue Link icon

      public boolean containsValue(Object value)
      Description copied from interface: Get
      Tests for presence of a given value.
      Specified by:
      containsValue in interface Get<K,V>
      Specified by:
      containsValue in interface Map<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:
    • entrySet Link icon

      public Set<Map.Entry<K,V>> entrySet()
      Description copied from interface: Get
      Gets a set view of the mappings contained in this map.
      Specified by:
      entrySet in interface Get<K,V>
      Specified by:
      entrySet in interface Map<K,V>
      Specified by:
      entrySet in interface SortedMap<K,V>
      Returns:
      a set view of the mappings contained in this map.
      See Also:
    • equals Link icon

      public boolean equals(Object obj)
      Specified by:
      equals in interface Map<K,V>
      Overrides:
      equals in class Object
    • firstKey Link icon

      public K firstKey()
      Description copied from interface: OrderedMap
      Gets the first key currently in this map.
      Specified by:
      firstKey in interface OrderedMap<K,V>
      Specified by:
      firstKey in interface SortedMap<K,V>
      Returns:
      the first key currently in this map
    • get Link icon

      public V get(Object key)
      Description copied from interface: Get
      Gets a value at a given key.
      Specified by:
      get in interface Get<K,V>
      Specified by:
      get in interface Map<K,V>
      Parameters:
      key - the key whose associated value is to be returned
      Returns:
      the value to which the specified key is mapped, or null if this map contains no mapping for the key
      See Also:
    • hashCode Link icon

      public int hashCode()
      Specified by:
      hashCode in interface Map<K,V>
      Overrides:
      hashCode in class Object
    • headMap Link icon

      public SortedMap<K,V> headMap(K toKey)
      Specified by:
      headMap in interface SortedMap<K,V>
    • isEmpty Link icon

      public boolean isEmpty()
      Description copied from interface: Get
      Tests whether this instance contains any key-value mappings.
      Specified by:
      isEmpty in interface Get<K,V>
      Specified by:
      isEmpty in interface Map<K,V>
      Returns:
      true if this map contains no key-value mappings
      See Also:
    • keySet Link icon

      public Set<K> keySet()
      Description copied from interface: Get
      Gets a view of the keys contained in this map.
      Specified by:
      keySet in interface Get<K,V>
      Specified by:
      keySet in interface Map<K,V>
      Specified by:
      keySet in interface SortedMap<K,V>
      Returns:
      a set view of the keys contained in this map
      See Also:
    • lastKey Link icon

      public K lastKey()
      Description copied from interface: OrderedMap
      Gets the last key currently in this map.
      Specified by:
      lastKey in interface OrderedMap<K,V>
      Specified by:
      lastKey in interface SortedMap<K,V>
      Returns:
      the last key currently in this map
    • mapIterator Link icon

      Description copied from interface: OrderedMap
      Obtains an OrderedMapIterator over the map.

      An ordered map iterator is an efficient way of iterating over maps in both directions.

      Specified by:
      mapIterator in interface IterableGet<K,V>
      Specified by:
      mapIterator in interface OrderedMap<K,V>
      Returns:
      a map iterator
    • nextKey Link icon

      public K nextKey(K key)
      Description copied from interface: OrderedMap
      Gets the next key after the one specified.
      Specified by:
      nextKey in interface OrderedMap<K,V>
      Parameters:
      key - the key to search for next from
      Returns:
      the next key, null if no match or at end
    • prefixMap Link icon

      public SortedMap<K,V> prefixMap(K key)
      Description copied from interface: Trie
      Returns a view of this Trie of all elements that are prefixed by the given key.

      In a Trie with fixed size keys, this is essentially a Map.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'.

      Specified by:
      prefixMap in interface Trie<K,V>
      Parameters:
      key - the key used in the search
      Returns:
      a SortedMap view of this Trie with all elements whose key is prefixed by the search key
    • previousKey Link icon

      public K previousKey(K key)
      Description copied from interface: OrderedMap
      Gets the previous key before the one specified.
      Specified by:
      previousKey in interface OrderedMap<K,V>
      Parameters:
      key - the key to search for previous from
      Returns:
      the previous key, null if no match or at start
    • put Link icon

      public V put(K key, V value)
      Description copied from interface: Put
      Associates the specified value with the specified key in this map.

      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 interface Map<K,V>
      Specified by:
      put in interface Put<K,V>
      Parameters:
      key - key with which the specified value is to be associated
      value - value to be associated with the specified key
      Returns:
      the previous value associated with key, or null if there was no mapping for key. (A null return can also indicate that the map previously associated null with key, if the implementation supports null values.)
      See Also:
    • putAll Link icon

      public void putAll(Map<? extends K,? extends V> m)
      Description copied from interface: Put
      Copies all of the mappings from the specified map to this map.
      Specified by:
      putAll in interface Map<K,V>
      Specified by:
      putAll in interface Put<K,V>
      Parameters:
      m - mappings to be stored in this map
      See Also:
    • remove Link icon

      public V remove(Object key)
      Description copied from interface: Get
      Remove a key-value mappings.
      Specified by:
      remove in interface Get<K,V>
      Specified by:
      remove in interface Map<K,V>
      Parameters:
      key - key whose mapping is to be removed from the map
      Returns:
      the previous value associated with key, or null if there was no mapping for key.
      See Also:
    • size Link icon

      public int size()
      Description copied from interface: Get
      Gets the number of key-value mappings in this map.
      Specified by:
      size in interface Get<K,V>
      Specified by:
      size in interface Map<K,V>
      Returns:
      the number of key-value mappings in this map.
      See Also:
    • subMap Link icon

      public SortedMap<K,V> subMap(K fromKey, K toKey)
      Specified by:
      subMap in interface SortedMap<K,V>
    • tailMap Link icon

      public SortedMap<K,V> tailMap(K fromKey)
      Specified by:
      tailMap in interface SortedMap<K,V>
    • toString Link icon

      public String toString()
      Overrides:
      toString in class Object
    • values Link icon

      public Collection<V> values()
      Description copied from interface: Get
      Gets a a collection view of the values contained in this map.
      Specified by:
      values in interface Get<K,V>
      Specified by:
      values in interface Map<K,V>
      Specified by:
      values in interface SortedMap<K,V>
      Returns:
      a collection view of the values contained in this map.
      See Also: