org.apache.commons.collections4.map

## Class UnmodifiableSortedMap<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>
      - - org.apache.commons.collections4.map.UnmodifiableSortedMap<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>, Unmodifiable

      public final class UnmodifiableSortedMap<K,V>
      extends AbstractSortedMapDecorator<K,V>
      implements Unmodifiable, Serializable

  Decorates another `SortedMap` to ensure it can't be altered.

  This class is Serializable from Commons Collections 3.1.

  Attempts to modify it will result in an UnsupportedOperationException.

  Since:
    3.0
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.commons.collections4.map.AbstractSortedMapDecorator

      `AbstractSortedMapDecorator.SortedMapIterator<K,V>`

    - ### Nested classes/interfaces inherited from interface java.util.Map

      `Map.Entry<K,V>`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()`
    `Comparator<? super K>` | `comparator()`
    `Set<Map.Entry<K,V>>` | `entrySet()`
    `K` | `firstKey()` Gets the first key currently in this map.
    `SortedMap<K,V>` | `headMap(K toKey)`
    `Set<K>` | `keySet()`
    `K` | `lastKey()` Gets the last key currently in this map.
    `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> mapToCopy)`
    `V` | `remove(Object key)`
    `SortedMap<K,V>` | `subMap(K fromKey, K toKey)`
    `SortedMap<K,V>` | `tailMap(K fromKey)`
    `static <K,V> SortedMap<K,V>` | `unmodifiableSortedMap(SortedMap<K,? extends V> map)` Factory method to create an unmodifiable sorted map.
    `Collection<V>` | `values()`

    - ### Methods inherited from class org.apache.commons.collections4.map.AbstractSortedMapDecorator

      `decorated, mapIterator, nextKey, previousKey`

    - ### Methods inherited from class org.apache.commons.collections4.map.AbstractMapDecorator

      `containsKey, containsValue, equals, get, hashCode, isEmpty, size, toString`

    - ### 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, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, putIfAbsent, remove, replace, replace, replaceAll, size`

    - ### Methods inherited from interface org.apache.commons.collections4.Get

      `containsKey, containsValue, get, isEmpty, size`

- - ### Method Detail

    - #### unmodifiableSortedMap

          public static <K,V> SortedMap<K,V> unmodifiableSortedMap(SortedMap<K,? extends V> map)

      Factory method to create an unmodifiable sorted map.
      Type Parameters:
        `K` - the key type
        `V` - the value type
      Parameters:
        `map` - the map to decorate, must not be null
      Returns:
        a new unmodifiable sorted map
      Throws:
        `NullPointerException` - if map is null
      Since:
        4.0

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `Map<K,V>`
      Specified by:
        `clear` in interface `Put<K,V>`
      Overrides:
        `clear` in class `AbstractMapDecorator<K,V>`
      See Also:
        `Map.clear()`

    - #### 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 interface `Map<K,V>`
      Specified by:
        `put` in interface `Put<K,V>`
      Overrides:
        `put` in class `AbstractMapDecorator<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:
        `Map.put(Object, Object)`

    - #### putAll

          public void putAll(Map<? extends K,? extends V> mapToCopy)

      Specified by:
        `putAll` in interface `Map<K,V>`
      Specified by:
        `putAll` in interface `Put<K,V>`
      Overrides:
        `putAll` in class `AbstractMapDecorator<K,V>`
      Parameters:
        `mapToCopy` - mappings to be stored in this map
      See Also:
        `Map.putAll(Map)`

    - #### remove

          public V remove(Object key)

      Specified by:
        `remove` in interface `Map<K,V>`
      Specified by:
        `remove` in interface `Get<K,V>`
      Overrides:
        `remove` in class `AbstractMapDecorator<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:
        `Map.remove(Object)`

    - #### entrySet

          public Set<Map.Entry<K,V>> entrySet()

      Specified by:
        `entrySet` in interface `Map<K,V>`
      Specified by:
        `entrySet` in interface `SortedMap<K,V>`
      Specified by:
        `entrySet` in interface `Get<K,V>`
      Overrides:
        `entrySet` in class `AbstractMapDecorator<K,V>`
      Returns:
        a set view of the mappings contained in this map
      See Also:
        `Map.entrySet()`

    - #### keySet

          public Set<K> keySet()

      Specified by:
        `keySet` in interface `Map<K,V>`
      Specified by:
        `keySet` in interface `SortedMap<K,V>`
      Specified by:
        `keySet` in interface `Get<K,V>`
      Overrides:
        `keySet` in class `AbstractMapDecorator<K,V>`
      Returns:
        a set view of the keys contained in this map
      See Also:
        `Map.keySet()`

    - #### values

          public Collection<V> values()

      Specified by:
        `values` in interface `Map<K,V>`
      Specified by:
        `values` in interface `SortedMap<K,V>`
      Specified by:
        `values` in interface `Get<K,V>`
      Overrides:
        `values` in class `AbstractMapDecorator<K,V>`
      Returns:
        a collection view of the values contained in this map
      See Also:
        `Map.values()`

    - #### firstKey

          public K firstKey()

      Description copied from interface: `OrderedMap`
      Gets the first key currently in this map.
      Specified by:
        `firstKey` in interface `SortedMap<K,V>`
      Specified by:
        `firstKey` in interface `OrderedMap<K,V>`
      Overrides:
        `firstKey` in class `AbstractSortedMapDecorator<K,V>`
      Returns:
        the first key currently in this map

    - #### lastKey

          public K lastKey()

      Description copied from interface: `OrderedMap`
      Gets the last key currently in this map.
      Specified by:
        `lastKey` in interface `SortedMap<K,V>`
      Specified by:
        `lastKey` in interface `OrderedMap<K,V>`
      Overrides:
        `lastKey` in class `AbstractSortedMapDecorator<K,V>`
      Returns:
        the last key currently in this map

    - #### comparator

          public Comparator<? super K> comparator()

      Specified by:
        `comparator` in interface `SortedMap<K,V>`
      Overrides:
        `comparator` in class `AbstractSortedMapDecorator<K,V>`

    - #### subMap

          public SortedMap<K,V> subMap(K fromKey,
                                       K toKey)

      Specified by:
        `subMap` in interface `SortedMap<K,V>`
      Overrides:
        `subMap` in class `AbstractSortedMapDecorator<K,V>`

    - #### headMap

          public SortedMap<K,V> headMap(K toKey)

      Specified by:
        `headMap` in interface `SortedMap<K,V>`
      Overrides:
        `headMap` in class `AbstractSortedMapDecorator<K,V>`

    - #### tailMap

          public SortedMap<K,V> tailMap(K fromKey)

      Specified by:
        `tailMap` in interface `SortedMap<K,V>`
      Overrides:
        `tailMap` in class `AbstractSortedMapDecorator<K,V>`

Copyright © 2001–2019 The Apache Software Foundation. All rights reserved.