Class IdentityMap<K,​V>

  • All Implemented Interfaces:
    Map<K,​V>

    public final class IdentityMap<K,​V>
    extends Object
    implements Map<K,​V>
    A Map where keys are compared by object identity, rather than equals().
    • Method Detail

      • instantiateSequenced

        public static <K,​V> IdentityMap<K,​V> instantiateSequenced​(int size)
        Return a new instance of this class, with iteration order defined as the order in which entries were added
        Parameters:
        size - The size of the map to create
        Returns:
        The map
      • concurrentEntries

        public static <K,​V> Map.Entry<K,​V>[] concurrentEntries​(Map<K,​V> map)
        Return the map entries (as instances of Map.Entry in a collection that is safe from concurrent modification). ie. we may safely add new instances to the underlying Map during iteration of the entries().
        Parameters:
        map - The map of entries
        Returns:
        Collection
      • onEachKey

        public static <K,​V> void onEachKey​(Map<K,​V> map,
                                                 Consumer<K> consumer)
      • forEach

        public void forEach​(BiConsumer<? super K,​? super V> action)
        Override MapforEach(BiConsumer) to provide a more efficient implementation
        Specified by:
        forEach in interface Map<K,​V>
        Parameters:
        action - the operation to apply to each element
      • keyIterator

        public Iterator<K> keyIterator()
      • 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>
      • 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> otherMap)
        Specified by:
        putAll in interface Map<K,​V>
      • clear

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

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

        public Map.Entry[] entryArray()