Class AbstractObject2ReferenceMap<K,​V>

java.lang.Object
it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction<K,​V>
it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceMap<K,​V>
All Implemented Interfaces:
Function<K,​V>, Object2ReferenceFunction<K,​V>, Object2ReferenceMap<K,​V>, Serializable, Function<K,​V>, Map<K,​V>
Direct Known Subclasses:
AbstractObject2ReferenceSortedMap, Object2ReferenceArrayMap, Object2ReferenceOpenCustomHashMap, Object2ReferenceOpenHashMap

public abstract class AbstractObject2ReferenceMap<K,​V>
extends AbstractObject2ReferenceFunction<K,​V>
implements Object2ReferenceMap<K,​V>, Serializable
An abstract class providing basic methods for maps implementing a type-specific interface.

Optional operations just throw an UnsupportedOperationException. Generic versions of accessors delegate to the corresponding type-specific counterparts following the interface rules (they take care of returning null on a missing key).

As a further help, this class provides a BasicEntry inner class that implements a type-specific version of Map.Entry; it is particularly useful for those classes that do not implement their own entries (e.g., most immutable maps).

See Also:
Serialized Form
  • Method Details

    • containsValue

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

      public boolean containsKey​(Object k)
      Description copied from interface: Object2ReferenceMap
      Returns true if this function contains a mapping for the specified key.
      Specified by:
      containsKey in interface Function<K,​V>
      Specified by:
      containsKey in interface Map<K,​V>
      Specified by:
      containsKey in interface Object2ReferenceMap<K,​V>
      Parameters:
      k - the key.
      Returns:
      true if this function associates a value to key.
      See Also:
      Map.containsKey(Object)
    • isEmpty

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

      public ObjectSet<K> keySet()
      Returns a type-specific-set view of the keys of this map.

      The view is backed by the set returned by Map.entrySet(). Note that no attempt is made at caching the result of this method, as this would require adding some attributes that lightweight implementations would not need. Subclasses may easily override this policy by calling this method and caching the result, but implementors are encouraged to write more efficient ad-hoc implementations.

      Specified by:
      keySet in interface Map<K,​V>
      Specified by:
      keySet in interface Object2ReferenceMap<K,​V>
      Returns:
      a set view of the keys of this map; it may be safely cast to a type-specific interface.
      See Also:
      Map.keySet()
    • values

      public ReferenceCollection<V> values()
      Returns a type-specific-set view of the values of this map.

      The view is backed by the set returned by Map.entrySet(). Note that no attempt is made at caching the result of this method, as this would require adding some attributes that lightweight implementations would not need. Subclasses may easily override this policy by calling this method and caching the result, but implementors are encouraged to write more efficient ad-hoc implementations.

      Specified by:
      values in interface Map<K,​V>
      Specified by:
      values in interface Object2ReferenceMap<K,​V>
      Returns:
      a set view of the values of this map; it may be safely cast to a type-specific interface.
      See Also:
      Map.values()
    • putAll

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

      public int hashCode()
      Returns a hash code for this map. The hash code of a map is computed by summing the hash codes of its entries.
      Specified by:
      hashCode in interface Map<K,​V>
      Overrides:
      hashCode in class Object
      Returns:
      a hash code for this map.
    • equals

      public boolean equals​(Object o)
      Specified by:
      equals in interface Map<K,​V>
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object