Package 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 extends Object,V extends Object>`

- ## Method Summary

  Modifier and Type
  Method
  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 org.apache.commons.collections4.Get

  `containsKey, containsValue, get, isEmpty, size`

  ### 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`

- ## Method Details

  - ### 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()`

  - ### comparator

    public Comparator<? super K> comparator()
    Specified by:
      `comparator` in interface `SortedMap<K,V>`
    Overrides:
      `comparator` in class `AbstractSortedMapDecorator<K,V>`

  - ### entrySet

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

  - ### firstKey

    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>`
    Overrides:
      `firstKey` in class `AbstractSortedMapDecorator<K,V>`
    Returns:
      the first key currently in this map

  - ### headMap

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

  - ### keySet

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

  - ### lastKey

    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>`
    Overrides:
      `lastKey` in class `AbstractSortedMapDecorator<K,V>`
    Returns:
      the last key currently in this map

  - ### 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 `Get<K,V>`
    Specified by:
      `remove` in interface `Map<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)`

  - ### 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>`

  - ### tailMap

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

  - ### values

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