Class UnmodifiableOrderedMap<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:
    java.io.Serializable, java.util.Map<K,​V>, IterableMap<K,​V>, OrderedMap<K,​V>, Unmodifiable

    public final class UnmodifiableOrderedMap<K,​V>
    extends AbstractOrderedMapDecorator<K,​V>
    implements Unmodifiable, java.io.Serializable
    Decorates another OrderedMap 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
    • Method Detail

      • unmodifiableOrderedMap

        public static <K,​V> OrderedMap<K,​V> unmodifiableOrderedMap​(OrderedMap<? extends 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 ordered map
        Throws:
        java.lang.NullPointerException - if map is null
        Since:
        4.0
      • mapIterator

        public OrderedMapIterator<K,​V> mapIterator()
        Description copied from class: AbstractIterableMap
        Obtains a MapIterator over the map.

        A map iterator is an efficient way of iterating over maps. There is no need to access the entry set or use Map Entry objects.

         IterableMap<String,Integer> map = new HashedMap<String,Integer>();
         MapIterator<String,Integer> it = map.mapIterator();
         while (it.hasNext()) {
           String key = it.next();
           Integer value = it.getValue();
           it.setValue(value + 1);
         }
         
        Specified by:
        mapIterator in interface IterableMap<K,​V>
        Specified by:
        mapIterator in interface OrderedMap<K,​V>
        Overrides:
        mapIterator in class AbstractOrderedMapDecorator<K,​V>
        Returns:
        a map iterator
      • put

        public V put​(K key,
                     V value)
        Description copied from interface: IterableMap
        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 IterableMap<K,​V>
        Specified by:
        put in interface java.util.Map<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​(java.util.Map<? extends K,​? extends V> mapToCopy)
        Specified by:
        putAll in interface IterableMap<K,​V>
        Specified by:
        putAll in interface java.util.Map<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​(java.lang.Object key)
        Specified by:
        remove in interface java.util.Map<K,​V>
        Overrides:
        remove in class AbstractMapDecorator<K,​V>
      • entrySet

        public java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
        Specified by:
        entrySet in interface java.util.Map<K,​V>
        Overrides:
        entrySet in class AbstractMapDecorator<K,​V>
      • keySet

        public java.util.Set<K> keySet()
        Specified by:
        keySet in interface java.util.Map<K,​V>
        Overrides:
        keySet in class AbstractMapDecorator<K,​V>
      • values

        public java.util.Collection<V> values()
        Specified by:
        values in interface java.util.Map<K,​V>
        Overrides:
        values in class AbstractMapDecorator<K,​V>