Class TCustomHashMap<K,V>

    • Field Detail

      • _values

        protected transient V[] _values
        the values of the map
    • Constructor Detail

      • TCustomHashMap

        public TCustomHashMap()
        FOR EXTERNALIZATION ONLY!!!
      • TCustomHashMap

        public TCustomHashMap(HashingStrategy<? super K> strategy)
        Creates a new TCustomHashMap instance with the default capacity and load factor.
      • TCustomHashMap

        public TCustomHashMap(HashingStrategy<? super K> strategy,
                              int initialCapacity)
        Creates a new TCustomHashMap instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.
        Parameters:
        initialCapacity - an int value
      • TCustomHashMap

        public TCustomHashMap(HashingStrategy<? super K> strategy,
                              int initialCapacity,
                              float loadFactor)
        Creates a new TCustomHashMap instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.
        Parameters:
        initialCapacity - an int value
        loadFactor - a float value
      • TCustomHashMap

        public TCustomHashMap(HashingStrategy<? super K> strategy,
                              Map<? extends K,? extends V> map)
        Creates a new TCustomHashMap instance which contains the key/value pairs in map.
        Parameters:
        map - a Map value
      • TCustomHashMap

        public TCustomHashMap(HashingStrategy<? super K> strategy,
                              TCustomHashMap<? extends K,? extends V> map)
        Creates a new TCustomHashMap instance which contains the key/value pairs in map.
        Parameters:
        map - a Map value
    • Method Detail

      • setUp

        public int setUp(int initialCapacity)
        initialize the value array of the map.
        Overrides:
        setUp in class  TObjectHash<K>
        Parameters:
        initialCapacity - an int value
        Returns:
        an int value
      • put

        public V put(K key,
                     V value)
        Inserts a key/value pair into the map.
        Specified by:
        put in interface  Map<K,V>
        Parameters:
        key - an Object value
        value - an Object value
        Returns:
        the previous value associated with key, or null if none was found.
      • putIfAbsent

        public V putIfAbsent(K key,
                             V value)
        Inserts a key/value pair into the map if the specified key is not already associated with a value.
        Specified by:
        putIfAbsent in interface  TMap<K,V>
        Specified by:
        putIfAbsent in interface  Map<K,V>
        Parameters:
        key - an Object value
        value - an Object value
        Returns:
        the previous value associated with key, or null if none was found.
      • equals

        public boolean equals(Object other)
        Compares this map with another map for equality of their stored entries.
        Specified by:
        equals in interface  Map<K,V>
        Overrides:
        equals in class  Object
        Parameters:
        other - an Object value
        Returns:
        a boolean value
      • hashCode

        public int hashCode()
      • toString

        public String toString()
      • forEachKey

        public boolean forEachKey(TObjectProcedure<? super K> procedure)
        Executes procedure for each key in the map.
        Specified by:
        forEachKey in interface  TMap<K,V>
        Parameters:
        procedure - a TObjectProcedure value
        Returns:
        false if the loop over the keys terminated because the procedure returned false for some key.
      • forEachValue

        public boolean forEachValue(TObjectProcedure<? super V> procedure)
        Executes procedure for each value in the map.
        Specified by:
        forEachValue in interface  TMap<K,V>
        Parameters:
        procedure - a TObjectProcedure value
        Returns:
        false if the loop over the values terminated because the procedure returned false for some value.
      • forEachEntry

        public boolean forEachEntry(TObjectObjectProcedure<? super K,? super V> procedure)
        Executes procedure for each key/value entry in the map.
        Specified by:
        forEachEntry in interface  TMap<K,V>
        Parameters:
        procedure - a TObjectObjectProcedure value
        Returns:
        false if the loop over the entries terminated because the procedure returned false for some entry.
      • retainEntries

        public boolean retainEntries(TObjectObjectProcedure<? super K,? super V> procedure)
        Retains only those entries in the map for which the procedure returns a true value.
        Specified by:
        retainEntries in interface  TMap<K,V>
        Parameters:
        procedure - determines which entries to keep
        Returns:
        true if the map was modified.
      • transformValues

        public void transformValues(TObjectFunction<V,V> function)
        Transform the values in this map using function.
        Specified by:
        transformValues in interface  TMap<K,V>
        Parameters:
        function - a TObjectFunction value
      • rehash

        protected void rehash(int newCapacity)
        rehashes the map to the new capacity.
        Specified by:
        rehash in class  THash
        Parameters:
        newCapacity - an int value
      • get

        public V get(Object key)
        retrieves the value for key
        Specified by:
        get in interface  Map<K,V>
        Parameters:
        key - an Object value
        Returns:
        the value of key or null if no such mapping exists.
      • clear

        public void clear()
        Empties the map.
      • remove

        public V remove(Object key)
        Deletes a key/value pair from the map.
        Specified by:
        remove in interface  Map<K,V>
        Parameters:
        key - an Object value
        Returns:
        an Object value
      • removeAt

        public void removeAt(int index)
        removes the mapping at index from the map.
        Overrides:
        removeAt in class  TObjectHash<K>
        Parameters:
        index - an int value
      • values

        public Collection<V> values()
        Returns a view on the values of the map.
        Specified by:
        values in interface  Map<K,V>
        Returns:
        a Collection value
      • keySet

        public Set<K> keySet()
        returns a Set view on the keys of the map.
        Specified by:
        keySet in interface  Map<K,V>
        Returns:
        a Set value
      • entrySet

        public Set<Map.Entry<K,V>> entrySet()
        Returns a Set view on the entries of the map.
        Specified by:
        entrySet in interface  Map<K,V>
        Returns:
        a Set value
      • containsValue

        public boolean containsValue(Object val)
        checks for the presence of val in the values of the map.
        Specified by:
        containsValue in interface  Map<K,V>
        Parameters:
        val - an Object value
        Returns:
        a boolean value
      • containsKey

        public boolean containsKey(Object key)
        checks for the present of key in the keys of the map.
        Specified by:
        containsKey in interface  Map<K,V>
        Parameters:
        key - an Object value
        Returns:
        a boolean value
      • putAll

        public void putAll(Map<? extends K,? extends V> map)
        copies the key/value mappings in map into this map.
        Specified by:
        putAll in interface  Map<K,V>
        Parameters:
        map - a Map value