2012-03-14 2 views
1

Как я могу выполнить поиск по String-Array? У меня есть приложение-словарь, и слова сохраняются в String-Array, и это было бы удобнее для пользователя, если бы вы могли искать слово, которое хотите найти, вместо того, чтобы искать его путь к слову. Может ли кто-нибудь помочь?Поиск в String-Array, Android?

Спасибо.

+0

поэтому ваше текущее решение является для перебора массива, пока вы не найдете данное слово? – mfrankli

+0

Почему бы не использовать хэш-карту? у них отличное время поиска! – ByteMe

ответ

0

Вместо этого вы можете использовать ArrayList. После этого вы можете увидеть, если это слово в вашем словаре «» с помощью contains метода, например:

ArrayList <String> myDictionary = new ArrayList<String>(); 
myDictionary.add(new String("foo")); 
myDictionary.add(new String("bar")); 


... 
// To check if the word exists in your dictionary. 
if (myDictionary.contains(new String("word_to_look_up"))) 
{ 
} 
+0

. Спасибо (y) – Ahmad

0

Не совсем уверен, что вы ищете, хотите ли вы видеть, находится ли это слово в массиве или какая цель? Если вы хотите, чтобы пользователь быстрее добрался до слова, изменение строкового массива не поможет ускорить переход в нужное место.

Если вы хотите, чтобы это было похоже на Google, вы можете взять свой массив и создать объект данных дерева, каждый из которых представляет букву в слове. Затем, если пользователь вводит a, вы переходите к этому узлу и предлагаете возможные слова.

+0

Ну, для ввода пользователя вам понадобится EditText, а также элемент OnTextChangeListener (или что-то в этом роде) и структура данных дерева http://stackoverflow.com/questions/3522454/java-tree-data-structure – AJcodez

Смежные вопросы