# Hilfe bei Hashtable



## NudelZ (22. Jun 2016)

Moin,

ich brauche unbedingt Hilfe beim schreiben einer eigenen Hashtable.

```
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
    }
}
```
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!


----------



## NudelZ (22. Jun 2016)

Hat sich erledigt, hab es hinbekommen


----------



## JStein52 (22. Jun 2016)

Ok, und wie ?


----------



## bradig (24. Jun 2016)

bin auch neugierig ,wie du das hinbekommen hast.
Die add()-Methode interessiert mich am meistens.
Die get()-Methode ist bestimmt einfach.

Herzlich

Bradig


----------

