Class UnmodifiableOrderedMap<K,​V>

  • All Implemented Interfaces:
    java.io.Serializable, java.util.Map<K,​V>, Get<K,​V>, IterableGet<K,​V>, IterableMap<K,​V>, OrderedMap<K,​V>, Put<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
    Version:
    $Id: UnmodifiableOrderedMap.java 1686855 2015-06-22 13:00:27Z tn $
    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 map = new HashedMap();
         MapIterator it = map.mapIterator();
         while (it.hasNext()) {
           String key = it.next();
           Integer value = it.getValue();
           it.setValue(value + 1);
         }
         
        Specified by:
        mapIterator in interface IterableGet<K,​V>
        Specified by:
        mapIterator in interface OrderedMap<K,​V>
        Overrides:
        mapIterator in class AbstractOrderedMapDecorator<K,​V>
        Returns:
        a map iterator
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.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 java.util.Map<K,​V>
        Specified by:
        put in interface Put<K,​V>
        Overrides:
        put in class AbstractMapDecorator<K,​V>
        See Also:
        Map.put(Object, Object)
      • putAll

        public void putAll​(java.util.Map<? extends K,​? extends V> mapToCopy)
        Specified by:
        putAll in interface java.util.Map<K,​V>
        Specified by:
        putAll in interface Put<K,​V>
        Overrides:
        putAll in class AbstractMapDecorator<K,​V>
        See Also:
        Map.putAll(Map)
      • remove

        public V remove​(java.lang.Object key)
        Specified by:
        remove in interface Get<K,​V>
        Specified by:
        remove in interface java.util.Map<K,​V>
        Overrides:
        remove in class AbstractMapDecorator<K,​V>
        See Also:
        Map.remove(Object)
      • entrySet

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

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

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