Class AbstractKeySetBasedMap<K,​V>

    • Constructor Detail

      • AbstractKeySetBasedMap

        public AbstractKeySetBasedMap()
    • Method Detail

      • containsKey

        public boolean containsKey​(Object oKey)
        Returns true if this map contains a mapping for the specified key.
        Specified by:
        containsKey in interface Map<K,​V>
        Overrides:
        containsKey in class AbstractKeyBasedMap<K,​V>
        Returns:
        true if this map contains a mapping for the specified key, false otherwise.
      • isEmpty

        public boolean isEmpty()
        Returns true if this map contains no key-value mappings.
        Specified by:
        isEmpty in interface Map<K,​V>
        Overrides:
        isEmpty in class AbstractKeyBasedMap<K,​V>
        Returns:
        true if this map contains no key-value mappings
      • size

        public int size()
        Returns the number of key-value mappings in this map.
        Specified by:
        size in interface Map<K,​V>
        Overrides:
        size in class AbstractKeyBasedMap<K,​V>
        Returns:
        the number of key-value mappings in this map
      • iterateKeys

        protected Iterator<K> iterateKeys()
        Create an iterator over the keys in this Map. Note that this implementation delegates back to the key Set, while the super class delegates from the key Set to this method.
        Specified by:
        iterateKeys in class AbstractKeyBasedMap<K,​V>
        Returns:
        a new instance of an Iterator over the keys in this Map
      • getInternalKeySet

        protected abstract Set<K> getInternalKeySet()
        Obtain a set of keys that are represented by this Map.

        The AbstractKeySetBasedMap only utilizes the internal key set as a read-only resource.

        Returns:
        an internal Set of keys that are contained by this Map
      • isInternalKeySetIteratorMutable

        protected boolean isInternalKeySetIteratorMutable()
        Determine if this Iterator should remove an iterated item by calling remove on the internal key Set Iterator, or by calling removeBlind on the map itself.
        Returns:
        true to remove using the internal key Set Iterator or false to use the AbstractKeyBasedMap.removeBlind(Object) method
      • instantiateKeySet

        protected Set<K> instantiateKeySet()
        Factory pattern: Create a Set that represents the keys in the Map
        Overrides:
        instantiateKeySet in class AbstractKeyBasedMap<K,​V>
        Returns:
        a new instance of Set that represents the keys in the Map
      • instantiateEntrySet

        protected Set<Map.Entry<K,​V>> instantiateEntrySet()
        Factory pattern: Create a Set that represents the entries in the Map.
        Overrides:
        instantiateEntrySet in class AbstractKeyBasedMap<K,​V>
        Returns:
        a new instance of Set that represents the entries in the Map
      • instantiateValues

        protected Collection<V> instantiateValues()
        Factory pattern: Instantiate the values Collection.
        Overrides:
        instantiateValues in class AbstractKeyBasedMap<K,​V>
        Returns:
        a new instance of Collection that represents this Map's values
      • instantiateKeyIterator

        protected Iterator<K> instantiateKeyIterator()
        Factory pattern: Create a mutable Iterator over the keys in the Map
        Returns:
        a new instance of Iterator that iterates over the keys in the Map and supports element removal