如何从ArrayList更快地进行搜索?

时间:2013-11-23 05:17:19

标签: android listview arraylist full-text-search

我有一个ArrayList,它有超过15000个字符串,这是一行,我用搜索词显示结果,使用ArrayAdapter显示,但搜索整个ArrayList需要大约6-8秒。是否可以更快或至少查看已找到的结果并继续在后台搜索。以下是我详细发布问题的链接。我真的需要帮助,任何帮助将不胜感激。

https://stackoverflow.com/questions/20150994/android-how-to-make-searching-initials-of-the-words-from-a-line-in-textfile-fas

2 个答案:

答案 0 :(得分:0)

我认为你需要一个可过滤的列表视图进行搜索,看看这个例子:List View Filter Android
There是提高搜索效果的众多提示。
你应该将数据包装成模型而不是许多字符串,然后重写equal方法来比较两个对象进行搜索。

答案 1 :(得分:0)

嗨,鉴于我正在使用的用例,您正在搜索文件中的内容  当用户在文本框中键入时,它包含15,000行。 ArrayList是
 用于搜索目的的高效数据结构。所以唯一的解决办法就是划分  归档到较小的块并基于从预期文件读取的输入并显示
 内容。

例如:

伪代码:  如果用户键入首字母星标,则在一个文件中搜索  否则,如果用户键入首字母星号,则在一个文件中搜索b  ........................................  ........................................  基于用例


否则


默认文件


尝试以这种方式检查性能是否提高