com.vladium.util
Class IntObjectMap

java.lang.Object
  extended by com.vladium.util.IntObjectMap
All Implemented Interfaces:
java.io.Serializable

public final class IntObjectMap
extends java.lang.Object
implements java.io.Serializable

MT-safety: an instance of this class is not safe for access from multiple concurrent threads [even if access is done by a single thread at a time]. The caller is expected to synchronize externally on an instance [the implementation does not do internal synchronization for the sake of efficiency]. java.util.ConcurrentModificationException is not supported either.

Author:
Vlad Roubtsov, (C) 2001
See Also:
Serialized Form

Nested Class Summary
private static class IntObjectMap.Entry
          The structure used for chaining colliding keys.
 
Field Summary
private static java.lang.String EOL
           
private  IntObjectMap.Entry[] m_buckets
           
private  float m_loadFactor
           
private  int m_size
           
private  int m_sizeThreshold
           
 
Constructor Summary
IntObjectMap()
          Equivalent to IntObjectMap(11, 0.75F).
IntObjectMap(int initialCapacity)
          Equivalent to IntObjectMap(capacity, 0.75F).
IntObjectMap(int initialCapacity, float loadFactor)
          Constructs an IntObjectMap with specified initial capacity and load factor.
 
Method Summary
 boolean contains(int key)
           
(package private)  void debugDump(java.lang.StringBuffer out)
           
 java.lang.Object get(int key)
          Returns the value that is mapped to a given 'key'.
 int[] keys()
           
 java.lang.Object put(int key, java.lang.Object value)
          Updates the table to map 'key' to 'value'.
private  void rehash()
          Re-hashes the table into a new array of buckets.
 int size()
          Returns the number of key-value mappings in this map.
 java.lang.String toString()
          Overrides Object.toString() for debug purposes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_loadFactor

private final float m_loadFactor

m_buckets

private IntObjectMap.Entry[] m_buckets

m_size

private int m_size

m_sizeThreshold

private int m_sizeThreshold

EOL

private static final java.lang.String EOL
Constructor Detail

IntObjectMap

public IntObjectMap()
Equivalent to IntObjectMap(11, 0.75F).


IntObjectMap

public IntObjectMap(int initialCapacity)
Equivalent to IntObjectMap(capacity, 0.75F).


IntObjectMap

public IntObjectMap(int initialCapacity,
                    float loadFactor)
Constructs an IntObjectMap with specified initial capacity and load factor.

Parameters:
initialCapacity - initial number of hash buckets in the table [may not be negative, 0 is equivalent to 1].
loadFactor - the load factor to use to determine rehashing points [must be in (0.0, 1.0] range].
Method Detail

toString

public java.lang.String toString()
Overrides Object.toString() for debug purposes.

Overrides:
toString in class java.lang.Object

size

public int size()
Returns the number of key-value mappings in this map.


contains

public boolean contains(int key)

get

public java.lang.Object get(int key)
Returns the value that is mapped to a given 'key'. Returns null if (a) this key has never been mapped or (b) it has been mapped to a null value.

Parameters:
key - mapping key
Returns:
Object value mapping for 'key' [can be null].

keys

public int[] keys()

put

public java.lang.Object put(int key,
                            java.lang.Object value)
Updates the table to map 'key' to 'value'. Any existing mapping is overwritten.

Parameters:
key - mapping key
value - mapping value [can be null].
Returns:
Object previous value mapping for 'key' [can be null]

debugDump

void debugDump(java.lang.StringBuffer out)

rehash

private void rehash()
Re-hashes the table into a new array of buckets.