Moin,
ich brauche unbedingt Hilfe beim schreiben einer eigenen Hashtable.
Ich habe noch keine Wirkliche Ahnung wie ich starten soll. Ich weiß nichtmal so wirklich was mir im Konstruktor übergeben wird. Was ist diese Function? Vielleicht könnt ihr mir ja auf die Sprünge helfen oder kennt nützliche Links, hab da nämlich nicht so wirklich was brauchbares gefunden. Uns wurde noch gesagt, dass offenes Hashing bei Konfliktlösung und Doppeltes bei der Sondierung benutzt werden soll. Außerdem kann man davon ausgehen, dass die Schlüsselwerte equals() implementieren.
Danke im voraus!
ich brauche unbedingt Hilfe beim schreiben einer eigenen Hashtable.
Java:
import java.util.function.Function;
import java.util.List;
/**
* Die Klasse HashTable speichert Elemente, deren Position in der Tabelle
* aus Schlüsselwerten bestimmt werden. Die Schlüsselwerte sind in den
* Elementen enthalten und können mit Hilfe einer Funktion ausgelesen
* werden. Es können mehrere Elemente mit demselben Schlüsselwert in der
* Tabelle gespeichert werden.
* @param K Der Typ der Schlüsselwerte.
* @param E Der Typ der gespeicherten Elemente.
*/
class HashTable<K, E>
{
/**
* Konstruktor.
* @param capacity Die Anzahl der freien Plätze in der Hash-Tabelle.
* Sollte eine Primzahl sein.
* @param getKey Eine Funktion, die zu einem Element den Schlüssel liefert.
*/
public HashTable(final int capacity, final Function<E, K> getKey)
{
//implementieren
}
/**
* Einfügen eines neuen Elements in die Hash-Tabelle.
* @param element Das neue Element.
* @return Die Anzahl der betrachteten Plätze in
* der Hash-Tabelle.
* @throws IllegalStateException Die Hash-Tabelle war bereits voll.
*/
public int add(final E element)
{
return 0; // Ersetzen
}
/**
* Finden aller Elemente zu einem Schlüsselwert.
* @param key Der Schlüsselwert.
* @return Ein Liste mit allen gefundenen Elementen.
*/
public List<E> get(final K key)
{
return null; // Ersetzen
}
}
Danke im voraus!