Class UnmodifiableMap<K,​V>

  • Type Parameters:
    K - the type of keys maintained by this map
    V - the type of mapped values
    All Implemented Interfaces:
    Map<K,​V>, Immutable, MutationBehaviour<Immutable>

    @Beta
    public final class UnmodifiableMap<K,​V>
    extends Object
    implements Map<K,​V>, Immutable
    An unmodifiable view over a Map. Unlike the view returned via Collections.unmodifiableMap(Map), this class checks its argument to ensure multiple encapsulation does not occur.

    This class checks the argument so it prevents multiple encapsulation. Subclasses of ImmutableMap are also recognized and not encapsulated.

    • Method Detail

      • of

        public static <K,​V> @NonNull Map<K,​V> of​(@NonNull Map<K,​V> map)
        Create an unmodifiable view of the target Map. If the map is known to be unmodifiable, that same instance is returned. Otherwise an unmodifiable view of the map will be returned.
        Parameters:
        map - Target map
        Returns:
        An unmodifiable view of the map
        Throws:
        NullPointerException - if map is null
      • size

        public int size()
        Specified by:
        size in interface Map<K,​V>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface Map<K,​V>
      • containsKey

        public boolean containsKey​(Object key)
        Specified by:
        containsKey in interface Map<K,​V>
      • get

        public V get​(Object key)
        Specified by:
        get in interface Map<K,​V>
      • keySet

        public Set<K> keySet()
        Specified by:
        keySet in interface Map<K,​V>
      • put

        public V put​(K key,
                     V value)
        Specified by:
        put in interface Map<K,​V>
      • remove

        public V remove​(Object key)
        Specified by:
        remove in interface Map<K,​V>
      • putAll

        public void putAll​(Map<? extends K,​? extends V> m)
        Specified by:
        putAll in interface Map<K,​V>
      • clear

        public void clear()
        Specified by:
        clear in interface Map<K,​V>