У меня большой набор URL, и я хочу реализовать автозаполнение.Мне не нравится сложность наивного подхода, так как он является линейным с заданным размером:
for(String url: urls) if(url.startsWith(input) {doSomething();}
Теперь я знаю, что в хэш-наборе функция "contains ()" работает в "O (1) "но нет" содержит "Префикс").Есть ли простой способ без использования большой библиотеки, такой как Lucene, или написания кода самостоятельно?У меня не было бы проблем с этим, но для такой простой проблемы это кажется излишним, поэтому я хочу знать, существует ли существующее простое решение: -)
Из своих уроков информатики я помню дерево, состоящее из строкифрагменты но я забываю как это называлось.Это работает так:
[car, care, carrot,carrotville]->
car
|
-/
-e
-rrot
|
----ville
PS: Как мне вызвать методы, которые возвращают все строки, префиксом которых является строка?Например, если a является префиксом b, что означает b для a?