Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从数组列表中获取以指定字符串开头的所有元素_Java_Android - Fatal编程技术网

Java 从数组列表中获取以指定字符串开头的所有元素

Java 从数组列表中获取以指定字符串开头的所有元素,java,android,Java,Android,我正在创建一个应用程序,它根据用户输入显示一个搜索结果,这是一个数组列表。我需要按顺序显示这个结果,其中结果与起始字母索引分开,就像所有以字母“A”开头的元素都将位于标题A下,以“B”开头的元素将位于磁贴B下等等 我成功地检索了每个元素的第一个字符,并将其与字母表进行了比较,但我觉得这是一种记录方式。有没有人能给我建议一些直接的方法,这样我就可以直接得到元素了 提前谢谢你,蒂姆不要把所有的东西都比较一下。只需将搜索项用作索引即可。恒定的查找时间。您将需要一个索引功能,将您的搜索项转换为唯一的数字

我正在创建一个应用程序,它根据用户输入显示一个搜索结果,这是一个数组列表。我需要按顺序显示这个结果,其中结果与起始字母索引分开,就像所有以字母“A”开头的元素都将位于标题A下,以“B”开头的元素将位于磁贴B下等等

我成功地检索了每个元素的第一个字符,并将其与字母表进行了比较,但我觉得这是一种记录方式。有没有人能给我建议一些直接的方法,这样我就可以直接得到元素了


提前谢谢你,蒂姆

不要把所有的东西都比较一下。只需将搜索项用作索引即可。恒定的查找时间。您将需要一个索引功能,将您的搜索项转换为唯一的数字。例如:

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. 

可以使用正则表达式


^A*\W$
用于获取以

开头的字符串列表,如果是仅显示要求,则需要一个
ArrayList
,其中
ArrayList.get(0)
将给出一个值,该集将具有所有标题


如果您想要O(1)访问(但不想显示列表结构),请使用多重映射(映射中的映射)get('a')。get('MY TITLE')将立即返回值。

或者您可以对列表排序,然后尝试使用TreeSet对逻辑列表进行排序,然后创建一个自定义方法并检索值我认为最好使用此方法。我需要按顺序显示搜索结果,并且此搜索可能是用户进行的包含搜索。您需要按字母顺序对名称进行排序,对吗?检查以下api:您可以组合SectionIndexer和AlphaIndexer。