Java hash set?

... komplette Frage anzeigen

3 Antworten

Beim HashSet brauchst du nichts zu implementieren. - Das ist eine direkt verwendbare Klasse.

Wofür man das braucht? Dazu müsste man sich mal anschauen, was das HashSet so alles "kann". Entsprechend musst du letztendlich entscheiden ob du so etwas benötigst oder nicht.

Das HashSet beispielsweise kann nur eindeutige Werte entgegen nehmen. 

Dir stehen die Methoden:

  • clear
  • contains
  • add
  • remove
  • isEmpty
  • iterator
  • spliterator
  • size

zur Verfügung.

Antwort bewerten Vielen Dank für Deine Bewertung

HashSet ist bereits in der Java Collection enthalten. Er zeichnet sich durch folgende Merkmale aus:

  • Elemente im HashSet haben keine definierte Reihenfolge. Wenn du über ein HashSet iterierst, kannst du Werte in einer anderen Reihenfolge bekommen, als du sie eingefügt hast.
  • Jeder "Wert" kann nur einmal enthalten sein. Ob zwei Objekte den gleichen Wert haben, wird über die equals und hashCode Methode bestimmt.
  • Einfügen und Abfragen einen Wertes hat O(1) - also konstante - Laufzeit. Dies bedeutet, dass das Einfügen neuer Werte, sowie das Überprüfen, ob ein Wert bereits im HashSet ist, nicht von der aktuellen Größte des HashSets abhängt. Bei einer LinkedList z.B. dauert die Abfrage abhängig von der Listengröße.
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?