GNU Trove

## gnu.trove
Class THashMap<K,V>

    java.lang.Object
      gnu.trove.THash
          gnu.trove.TObjectHash<K>
              gnu.trove.THashMap<K,V>

All Implemented Interfaces:
  TObjectHashingStrategy<K>, java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.util.Map<K,V>

    public class THashMap<K,V>

extends TObjectHash<K>
implements java.util.Map<K,V>, java.io.Externalizable

An implementation of the Map interface which uses an open addressed hash table to store its contents. Created: Sun Nov 4 08:52:45 2001

Version:
  $Id: THashMap.java,v 1.33 2008/05/08 17:42:55 robeden Exp $
Author:
  Eric D. Friedman
See Also:
  Serialized Form

Nested Class Summary
`protected class` `THashMap.EntryView` a view onto the entries of the map.
`protected class` `THashMap.KeyView` a view onto the keys of the map.
`protected class` `THashMap.ValueView` a view onto the values of the map.

Field Summary
`protected V[]` `_values` the values of the map

Fields inherited from class gnu.trove.TObjectHash
`_hashingStrategy, _set, FREE, REMOVED`

Fields inherited from class gnu.trove.THash
`_autoCompactionFactor, _autoCompactRemovesRemaining, _free, _loadFactor, _maxSize, _size, DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR`

Constructor Summary
`THashMap()` Creates a new `THashMap` instance with the default capacity and load factor.
`THashMap(int initialCapacity)` Creates a new `THashMap` instance with a prime capacity equal to or greater than `initialCapacity` and with the default load factor.
`THashMap(int initialCapacity, float loadFactor)` Creates a new `THashMap` instance with a prime capacity equal to or greater than `initialCapacity` and with the specified load factor.
`THashMap(int initialCapacity, float loadFactor, TObjectHashingStrategy<K> strategy)` Creates a new `THashMap` instance with a prime capacity equal to or greater than `initialCapacity` and with the specified load factor.
`THashMap(int initialCapacity, TObjectHashingStrategy<K> strategy)` Creates a new `THashMap` instance with a prime capacity equal to or greater than `initialCapacity` and with the default load factor.
`THashMap(java.util.Map<K,V> map)` Creates a new `THashMap` instance which contains the key/value pairs in `map`.
`THashMap(java.util.Map<K,V> map, TObjectHashingStrategy<K> strategy)` Creates a new `THashMap` instance which contains the key/value pairs in `map`.
`THashMap(TObjectHashingStrategy<K> strategy)` Creates a new `THashMap` instance with the default capacity and load factor.

Method Summary
`void` `clear()` Empties the map.
`THashMap<K,V>` `clone()`
`boolean` `containsKey(java.lang.Object key)` checks for the present of `key` in the keys of the map.
`boolean` `containsValue(java.lang.Object val)` checks for the presence of `val` in the values of the map.
`java.util.Set<java.util.Map.Entry<K,V>>` `entrySet()` Returns a Set view on the entries of the map.
`boolean` `equals(java.lang.Object other)` Compares this map with another map for equality of their stored entries.
`boolean` `forEachEntry(TObjectObjectProcedure<K,V> procedure)` Executes `procedure` for each key/value entry in the map.
`boolean` `forEachKey(TObjectProcedure<K> procedure)` Executes `procedure` for each key in the map.
`boolean` `forEachValue(TObjectProcedure<V> procedure)` Executes `procedure` for each value in the map.
`V` `get(java.lang.Object key)` retrieves the value for `key`
`int` `hashCode()`
`java.util.Set<K>` `keySet()` returns a Set view on the keys of the map.
`V` `put(K key, V value)` Inserts a key/value pair into the map.
`void` `putAll(java.util.Map<? extends K,? extends V> map)` copies the key/value mappings in `map` into this map.
`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.
`void` `readExternal(java.io.ObjectInput in)`
`protected void` `rehash(int newCapacity)` rehashes the map to the new capacity.
`V` `remove(java.lang.Object key)` Deletes a key/value pair from the map.
`protected void` `removeAt(int index)` removes the mapping at `index` from the map.
`boolean` `retainEntries(TObjectObjectProcedure<K,V> procedure)` Retains only those entries in the map for which the procedure returns a true value.
`protected int` `setUp(int initialCapacity)` initialize the value array of the map.
`java.lang.String` `toString()`
`void` `transformValues(TObjectFunction<V,V> function)` Transform the values in this map using `function`.
`java.util.Collection<V>` `values()` Returns a view on the values of the map.
`void` `writeExternal(java.io.ObjectOutput out)`

Methods inherited from class gnu.trove.TObjectHash
`capacity, computeHashCode, contains, equals, forEach, index, insertionIndex, throwObjectContractViolation`

Methods inherited from class gnu.trove.THash
`calculateGrownCapacity, compact, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, reenableAutoCompaction, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.Map
`isEmpty, size`

Field Detail

### _values

    protected transient V[] _values

  the values of the map

Constructor Detail

### THashMap

    public THashMap()

  Creates a new `THashMap` instance with the default capacity and load factor.

### THashMap

    public THashMap(TObjectHashingStrategy<K> strategy)

  Creates a new `THashMap` instance with the default capacity and load factor.

  Parameters:
    `strategy` - used to compute hash codes and to compare objects.

### THashMap

    public THashMap(int initialCapacity)

  Creates a new `THashMap` instance with a prime capacity equal to or greater than `initialCapacity` and with the default load factor.

  Parameters:
    `initialCapacity` - an `int` value

### THashMap

    public THashMap(int initialCapacity,
                    TObjectHashingStrategy<K> strategy)

  Creates a new `THashMap` instance with a prime capacity equal to or greater than `initialCapacity` and with the default load factor.

  Parameters:
    `initialCapacity` - an `int` value
    `strategy` - used to compute hash codes and to compare objects.

### THashMap

    public THashMap(int initialCapacity,
                    float loadFactor)

  Creates a new `THashMap` 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

### THashMap

    public THashMap(int initialCapacity,
                    float loadFactor,
                    TObjectHashingStrategy<K> strategy)

  Creates a new `THashMap` 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
    `strategy` - used to compute hash codes and to compare objects.

### THashMap

    public THashMap(java.util.Map<K,V> map)

  Creates a new `THashMap` instance which contains the key/value pairs in `map`.

  Parameters:
    `map` - a `Map` value

### THashMap

    public THashMap(java.util.Map<K,V> map,
                    TObjectHashingStrategy<K> strategy)

  Creates a new `THashMap` instance which contains the key/value pairs in `map`.

  Parameters:
    `map` - a `Map` value
    `strategy` - used to compute hash codes and to compare objects.

Method Detail

### clone

    public THashMap<K,V> clone()

  Overrides:
    `clone` in class `TObjectHash<K>`
  Returns:
    a shallow clone of this collection

### setUp

    protected 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 `java.util.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.

  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(java.lang.Object other)

  Compares this map with another map for equality of their stored entries.

  Specified by:
    `equals` in interface `java.util.Map<K,V>`
  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `other` - an `Object` value
  Returns:
    a `boolean` value

### hashCode

    public int hashCode()

  Specified by:
    `hashCode` in interface `java.util.Map<K,V>`
  Overrides:
    `hashCode` in class `java.lang.Object`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### forEachKey

    public boolean forEachKey(TObjectProcedure<K> procedure)

  Executes `procedure` for each key in the map.

  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<V> procedure)

  Executes `procedure` for each value in the map.

  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<K,V> procedure)

  Executes `procedure` for each key/value entry in the map.

  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<K,V> procedure)

  Retains only those entries in the map for which the procedure returns a true value.

  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`.

  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(java.lang.Object key)

  retrieves the value for `key`

  Specified by:
    `get` in interface `java.util.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.

  Specified by:
    `clear` in interface `java.util.Map<K,V>`
  Overrides:
    `clear` in class `THash`

### remove

    public V remove(java.lang.Object key)

  Deletes a key/value pair from the map.

  Specified by:
    `remove` in interface `java.util.Map<K,V>`
  Parameters:
    `key` - an `Object` value
  Returns:
    an `Object` value

### removeAt

    protected 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 java.util.Collection<V> values()

  Returns a view on the values of the map.

  Specified by:
    `values` in interface `java.util.Map<K,V>`
  Returns:
    a `Collection` value

### keySet

    public java.util.Set<K> keySet()

  returns a Set view on the keys of the map.

  Specified by:
    `keySet` in interface `java.util.Map<K,V>`
  Returns:
    a `Set` value

### entrySet

    public java.util.Set<java.util.Map.Entry<K,V>> entrySet()

  Returns a Set view on the entries of the map.

  Specified by:
    `entrySet` in interface `java.util.Map<K,V>`
  Returns:
    a `Set` value

### containsValue

    public boolean containsValue(java.lang.Object val)

  checks for the presence of `val` in the values of the map.

  Specified by:
    `containsValue` in interface `java.util.Map<K,V>`
  Parameters:
    `val` - an `Object` value
  Returns:
    a `boolean` value

### containsKey

    public boolean containsKey(java.lang.Object key)

  checks for the present of `key` in the keys of the map.

  Specified by:
    `containsKey` in interface `java.util.Map<K,V>`
  Parameters:
    `key` - an `Object` value
  Returns:
    a `boolean` value

### putAll

    public void putAll(java.util.Map<? extends K,? extends V> map)

  copies the key/value mappings in `map` into this map.

  Specified by:
    `putAll` in interface `java.util.Map<K,V>`
  Parameters:
    `map` - a `Map` value

### writeExternal

    public void writeExternal(java.io.ObjectOutput out)
                       throws java.io.IOException

  Specified by:
    `writeExternal` in interface `java.io.Externalizable`
  Overrides:
    `writeExternal` in class `TObjectHash<K>`
  Throws:
    `java.io.IOException`

### readExternal

    public void readExternal(java.io.ObjectInput in)
                      throws java.io.IOException,
                             java.lang.ClassNotFoundException

  Specified by:
    `readExternal` in interface `java.io.Externalizable`
  Overrides:
    `readExternal` in class `TObjectHash<K>`
  Throws:
    `java.io.IOException`
    `java.lang.ClassNotFoundException`

GNU Trove

GNU Trove is copyright © 2001-2009 Eric D. Friedman. All Rights Reserved.