Class CompositeMap<K,V>

Type Parameters:
K - Key type
V - Value type
All Implemented Interfaces:

public class CompositeMap<K,V> extends Object implements Map<K,V>
Unmodifiable view onto multiple backing maps. An element occurs in the map if it occurs in any of the backing maps; the value is the value that occurs in the first map that contains the key.
  • Constructor Details

    • CompositeMap

      public CompositeMap(<Map<K,V>> maps)
  • Method Details

    • of

      @SafeVarargs public static <K, V> CompositeMap<K,V> of(Map<K,V> map0, Map<K,V>... maps)
      Creates a CompositeMap.
    • 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(@Nullable Object key)
      Specified by:
      containsKey in interface Map<K,V>
    • containsValue

      public boolean containsValue(@Nullable Object value)
      Specified by:
      containsValue in interface Map<K,V>
    • get

      public @Nullable V get(@Nullable Object key)
      Specified by:
      get 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(@Nullable 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>
    • keySet

      public Set<@KeyFor("this") K> keySet()
      Specified by:
      keySet in interface Map<K,V>
    • values

      public Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • entrySet

      public Set<Map.Entry<@KeyFor("this") K,V>> entrySet()
      Specified by:
      entrySet in interface Map<K,V>