Cytoscape 2.6.2 (c) 2006,2007 ISB, MSKCC, UCSD

cytoscape.util.intr
Class IntIntHash

java.lang.Object
  extended by cytoscape.util.intr.IntIntHash
All Implemented Interfaces:
Serializable

public final class IntIntHash
extends Object
implements Serializable

An insert-only hashtable that has non-negative 32 bit integer keys and non-negative 32 bit integer values.

In the underlying implementation, this hashtable increases in size to adapt to key/value pairs being added (the underlying size of the hashtable is invisible to the programmer). In the underlying implementation, this hashtable never decreases in size. As a hashtable increases in size, it takes at most four times as much memory as it would take to store the hashtable's keys and values in a perfectly-sized array. Underlying size expansions are implemented such that the operation of expanding in size is amortized over the contstant time complexity needed to insert new elements.

An instance of this class is serializable; however, serialized instances of this class should not be stored in a persistent manner because the serialization implemented in this class makes no attempt at handling class versioning.

See Also:
Serialized Form

Constructor Summary
IntIntHash()
          Creates a new hashtable.
 
Method Summary
 void empty()
          Removes all key/value pairs from this hashtable.
 int get(int key)
          Returns the value bound to the specified key or -1 if no value is currently bound to the specified key.
 IntEnumerator keys()
          Returns an enumeration of keys in this hashtable, ordered arbitrarily.
 int put(int key, int value)
          Puts a new key/value pair into this hashtable, potentially overwriting an existing value whose key is the same as the one specified.
 int size()
          Returns the number of key/value pairs currently in this hashtable.
 IntEnumerator values()
          Returns an enumeration of values in this hashtable, ordered arbitrarily.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntIntHash

public IntIntHash()
Creates a new hashtable.

Method Detail

empty

public final void empty()
Removes all key/value pairs from this hashtable. This operation has O(1) time complexity.


size

public final int size()
Returns the number of key/value pairs currently in this hashtable.


put

public final int put(int key,
                     int value)
Puts a new key/value pair into this hashtable, potentially overwriting an existing value whose key is the same as the one specified. Returns the old value associated with the specified key or -1 if no value is associated with specified key at the time of this call.

Insertions into the hashtable are performed in [amortized] time complexity O(1).

Throws:
IllegalArgumentException - if either key or value is negative.

get

public final int get(int key)
Returns the value bound to the specified key or -1 if no value is currently bound to the specified key.

Searches in this hashtable are performed in [amortized] time complexity O(1).

Throws:
IllegalArgumentException - if key is negative.

keys

public final IntEnumerator keys()
Returns an enumeration of keys in this hashtable, ordered arbitrarily.

The returned enumeration becomes invalid as soon as put(int, int) or empty() is called on this hashtable; calling methods on an invalid enumeration will cause undefined behavior in the enumerator. The returned enumerator has absolutely no effect on the underlying hashtable.

This method returns in constant time. The returned enumerator returns successive keys in [amortized] time complexity O(1).

It is possible to get the keys() and values() enumerations at the same time and iterate over them simultaneously; then, the ith element of the keys() enumeration is the key into the ith element of the values() enumeration.


values

public final IntEnumerator values()
Returns an enumeration of values in this hashtable, ordered arbitrarily.

The returned enumeration becomes invalid as soon as put(int, int) or empty() is called on this hashtable; calling methods on an invalid enumeration will cause undefined behavior in the enumerator. The returned enumerator has absolutely no effect on the underlying hashtable.

This method returns in constant time. The returned enumerator returns successive values in [amortized] time complexity O(1).

It is possible to get the keys() and values() enumerations at the same time and iterate over them simultaneously; then, the ith element of the keys() enumeration is the key into the ith element of the values() enumeration.


www.cytoscape.org