Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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 Android listView ArrayList相似搜索_Java_Android_Arraylist - Fatal编程技术网

Java Android listView ArrayList相似搜索

Java Android listView ArrayList相似搜索,java,android,arraylist,Java,Android,Arraylist,我使用ArrayList作为字典索引数据 我想做一个类似的搜索系统 比如说 dictionary data : 'abcd' 'bcde' 'cdef' 'fghi' 'ijkl' 如果我搜索“cd”我想得到索引“3” 我的消息来源 for (String st : wordList) { if (st.indexOf(searchWord) == 0) { ListView.setSelection(index); //set listView scroll

我使用
ArrayList
作为字典索引数据

我想做一个类似的搜索系统

比如说

dictionary data : 'abcd' 'bcde' 'cdef' 'fghi' 'ijkl'
如果我搜索
“cd”
我想得到
索引“3”

我的消息来源

for (String st : wordList) {
    if (st.indexOf(searchWord) == 0) {
        ListView.setSelection(index); //set listView scroll
        break;
    }
    index++;
}
但这花了太多时间:(


创建此系统的最佳方法是什么?

只需将index++从循环中删除,然后像这样更改if(条件)

  for (String st : wordList) {
    if (st.startsWith(searchWord)) {
       System.out.println("position="+wordlist.indexOf(st));//display index in log
       ListView.setSelection(wordlist.indexOf(st)); //set listView scroll
       break;
      }
  }

只要将index++从循环中删除,并像这样更改(条件)

  for (String st : wordList) {
    if (st.startsWith(searchWord)) {
       System.out.println("position="+wordlist.indexOf(st));//display index in log
       ListView.setSelection(wordlist.indexOf(st)); //set listView scroll
       break;
      }
  }

分而治之:)

而不是将所有字典数据存储到单个列表中。。。。为每个字符创建数组列表,如a、b、c、d(总共有26个列表:每个字母表一个)

Map Map=newhashmap();
//为每个字符创建列表

对于(int i=0;i除法和规则:)

而不是将所有字典数据存储到单个列表中。。。。为每个字符创建数组列表,如a、b、c、d(总共有26个列表:每个字母表一个)

Map Map=newhashmap();
//为每个字符创建列表

对于(int i=0;iif remove index++它不起作用我听不懂你的回答如果remove index++它不起作用我听不懂你的回答查看此链接以及查看此链接