如何搜索字符串數組?我有一本詞典應用程序,單詞保存在一個字符串數組中,如果你可以搜索你想要查找的單詞,而不是尋找單詞的話,它會更友好,用戶更友好。有人可以幫忙嗎?可搜索的字符串數組,Android?
謝謝。
如何搜索字符串數組?我有一本詞典應用程序,單詞保存在一個字符串數組中,如果你可以搜索你想要查找的單詞,而不是尋找單詞的話,它會更友好,用戶更友好。有人可以幫忙嗎?可搜索的字符串數組,Android?
謝謝。
您可以嘗試使用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")))
{
}
這似乎也很好。謝謝(y) – Ahmad 2012-03-14 01:51:36
不完全確定你在找什麼 - 你想看看這個單詞是否在數組中,或者目標是什麼?如果您希望用戶更快地查看單詞,更改字符串數組無法幫助用戶界面跳到正確的位置。
如果你希望它像谷歌建議你可以把你的數組,並建立一個樹形數據對象,其中每個節點代表一個字中的一個字母。然後,如果用戶鍵入a,則可以進入該節點並提供可能的單詞。
那麼你需要一個用於用戶輸入的EditText和一個OnTextChangeListener(或類似的東西)和一個Tree數據結構http://stackoverflow.com/questions/3522454/java-tree-data-structure – AJcodez 2012-03-14 08:05:41
您可以使用Arrays.binarySearch()方法從排序數組中搜索元素。
所以你目前的解決方案是通過數組進行迭代,直到找到一個給定的詞嗎? – mfrankli 2012-03-14 01:43:26
爲什麼不使用散列表?他們有很棒的查詢時間! – ByteMe 2012-03-14 02:08:04