schmitzm.lang
Class HashtableWithCollisionList<K,V>

java.lang.Object
  extended by java.util.Dictionary<K,V>
      extended by java.util.Hashtable<K,Vector<V>>
          extended by schmitzm.lang.HashtableWithCollisionList<K,V>
All Implemented Interfaces:
Serializable, Cloneable, Map<K,Vector<V>>

public class HashtableWithCollisionList<K,V>
extends Hashtable<K,Vector<V>>

Diese Klasse erweitert die normale Hash-Tabelle um Kollisionslisten. Pro Hashtable-Key koennen somit mehrere Werte gespeichert werden.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Constructor Summary
HashtableWithCollisionList()
          Erzeugt eine neue Hash-Tabelle.
 
Method Summary
 void add(K key, V value)
          Fuegt der Hash-Tabelle ein Objekt hinzu.
 Vector<V> put(K key, Vector<V> value)
          Ersetzt eine komplette Kollisionsliste fuer einen Key.
 Vector<V> remove(Object key)
          Entfernt eine komplette Kollisionsliste zu einem Key.
 Object remove(Object key, Object value)
          Entfernt ein objekt aus der Hash-Tabelle.
 
Methods inherited from class java.util.Hashtable
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, putAll, rehash, size, toString, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HashtableWithCollisionList

public HashtableWithCollisionList()
Erzeugt eine neue Hash-Tabelle.

Method Detail

add

public void add(K key,
                V value)
Fuegt der Hash-Tabelle ein Objekt hinzu. Existiert bereits ein Element mit dem Key, wird dieses nicht entfernt, sondern die entsprechende Kollisionsliste erweitert.

Parameters:
key - Der Hashtable-Key
value - Wert

put

public Vector<V> put(K key,
                     Vector<V> value)
Ersetzt eine komplette Kollisionsliste fuer einen Key.

Specified by:
put in interface Map<K,Vector<V>>
Overrides:
put in class Hashtable<K,Vector<V>>
Parameters:
key - Der Hashtable-Key
value - Kollisionsliste
Returns:
immer null

remove

public Vector<V> remove(Object key)
Entfernt eine komplette Kollisionsliste zu einem Key. Es werden nur die Element der Liste entfernt. Die Kollisionsliste selbst bleibt bestehen!

Specified by:
remove in interface Map<K,Vector<V>>
Overrides:
remove in class Hashtable<K,Vector<V>>
Parameters:
key - Der Hashtable-Key
Returns:
immer null

remove

public Object remove(Object key,
                     Object value)
Entfernt ein objekt aus der Hash-Tabelle.

Parameters:
key - Der Hashtable-Key
Returns:
Das entfernte Objekt oder null falls das Objekt nicht in der Hash-Tabelle gespeichert war