So erstellen Sie eine einfache Präfix-index in Java?

Ich habe große Gruppe von urls und ich umsetzen möchten-Vervollständigung. Ich weiß nicht, wie die Komplexität der naive Ansatz, da Sie linear mit der set-Größe:

for(String url: urls) if(url.startsWith(input) {doSomething();}

Jetzt weiß ich, dass in einem Hash-Set, die Funktion "contains()" funktioniert in "O(1) -" es gibt aber keine "containsPrefix()". Gibt es eine einfache Möglichkeit, ohne Verwendung einer großen Bibliothek wie Lucene oder Codierung selbst? Ich hätte kein problem es zu tun, aber es scheint übertrieben für so ein einfaches problem, also ich möchte wissen, ob es eine bereits vorhandene Lösung einfach 🙂

Aus meinem informatik-Unterricht erinnere ich mich an einen Baum, der aus der string-Fragmente aber ich habe vergessen, wie es hieß. Es funktionierte folgendermaßen:

[car, care, carrot,carrotville]->

car
|
-/
-e
-rrot
  |
  ----ville

P. S.: Wie kann ich die Methoden aufrufen, die gibt alle Zeichenfolgen, die ein string-Präfix? Wie wenn a ist Präfix von b, was b zu a?

  • was möchten Sie tun ? automatisches hinzufügen von text am Anfang jeder Kette ?
  • Ich möchte wissen, welche Zeichenfolgen mein string ist ein Präfix, so kann ich Ihnen die Autovervollständigung-Vorschläge.
Schreibe einen Kommentar