【发布时间】:2014-10-12 14:07:39
【问题描述】:
我想搜索一个字符串列表并返回包含搜索字符串的值。
列表可能如下所示(最多可包含 1000 个条目)。尽管不能保证它始终是字母,然后是数字。可能只有数字,只有单词,甚至两者都混在一起:
entry 1
entry 2
entry 3
entry 4
test 1
test 2
test 3
tst 4
如果用户确实搜索了 1,则应返回这些:
entry 1
test 1
情况是用户有一个搜索栏,可以输入一个搜索字符串。此搜索字符串用于在列表中进行搜索。
如何才能高效地做到这一点?
目前,我有:
for (String s : strings) {
if (s.contains(searchedText)) result.add(s);
}
这是 O(N) 并且非常慢。尤其是当用户一次输入多个字符时。
【问题讨论】:
-
您只想搜索数字还是字母和数字的任意组合?
标签: java android string search