获取从Array List中以指定字符串开头的所有元素

时间:2012-07-31 10:26:11

标签: java android

我正在创建一个应用程序,它根据用户输入显示一个搜索结果,它是一个数组列表。我需要以结果与起始字母索引分开的顺序显示此结果,就像所有以字母“A”开头的元素将在标题A下面,以“B”开头将位于图块B之下,依此类推。 ..

我成功检索每个元素的第一个字符并将其与字母表进行比较,但我觉得它是一种日志方式。任何人都可以直接建议我,以便我可以直接获得元素吗?

提前谢谢,蒂姆

3 个答案:

答案 0 :(得分:1)

如果是显示,则只需要ArrayList<Set<Title>>,其中ArrayList.get(0)将给出A并且该集将包含所有标题

如果你想要O(1)访问(但不想显示列表结构),请使用MultiMap(地图内的地图)get('A')。get('MY TITLE')将立即返回给你价值。

答案 1 :(得分:0)

不要比较所有。只需将搜索项目用作索引即可。不断寻找时间。您将需要一个索引功能,将您的搜索项目转换为唯一的数字。例如:

lets find "data" word in your list.

d=4, a=1, t=20:

data----->4 + 1*4 + 20*(1+4) + 1*(20+1+4)  just made up this. 

答案 2 :(得分:0)

你可以使用正则表达式

^A*\W$获取以A

开头的字符串列表