Ich erstelle eine Java-Anwendung, die eine Vielzahl zufälliger Wörter speichern soll (die jederzeit hinzugefügt oder aus der Anwendung gelöscht werden können). Ich möchte schnelle Suchvorgänge durchführen, um festzustellen, ob ein bestimmtes Wort im Wörterbuch enthalten ist oder nicht. Welche Java-Datenstruktur wäre dafür am besten geeignet? Ich dachte daran, eine hashMap zu verwenden und dasselbe Wort sowohl als Wert als auch als Schlüssel für diesen Wert zu verwenden. Ist das gängige Praxis? Es erscheint mir seltsam, dass dasselbe Wort sowohl als Schlüssel als auch als Wert in einem (Schlüssel, Wert)-Paar verwendet wird, daher wollte ich sicherstellen, dass ich keine bessere Idee übersehe.
Ich dachte auch daran, alternativ eine treeMap zu verwenden, um die Wörter sortiert zu halten, was mir eine Suchzeit von O(lgn) geben würde, aber die hashMap sollte eine erwartete Suchzeit von O(1) haben, so wie ich es verstehe, also dachte ich, dass das besser wäre.
Also möchte ich einfach nur sicherstellen, dass die Idee mit der hashMap und den Zeichenfolgen, die jeweils als Schlüssel und Wert in jedem (Schlüssel, Wert)-Paar dienen, eine gute Entscheidung wäre. Vielen Dank.