搜索一段文本的arraylist条目的最简单方法是什么?

时间:2014-03-30 23:41:15

标签: java search arraylist

我有一个arraylist(让我们说)三个条目。

The first entry: "Chris lives at 2320 alpha street"
The second entry: "Bob sleeps at 1900 bravo road"
The third entry: "Alex eats at 4231 charlie lane"

我试图搜索arraylist,解析用户输入的一个词的每一行,并返回包含搜索词的arraylist条目的索引(到我的代码的另一部分)。在此示例中,用户键入" lane",代码搜索所有三个,发现第三个条目包含单词" lane",然后返回2。

目前,我正在使用

if(addressBook.contains(searchModifier))//if their searchModifier is found anywhere in any of the strings
    return addressBook.indexOf(searchModifier);//return that index value
else
    return noEntry;

但这只有在确切的字符串匹配时才有效。我需要能够只搜索字符串的一部分。有一个简单的方法吗?我检查了this question,但是我试图做的事情看起来非常复杂 - 这是一个“hello world&#type”程序。我最多只搜索3-4个条目! (更不用说我在这方面相当新,并且代码似乎非常先进......)

2 个答案:

答案 0 :(得分:0)

for (int i = 0; i < addressBook.size(); i++) {
  if (addressBook.get(i).contains(searchModified)) {
    return i;
  }
}

https://coderpad.io/279611

答案 1 :(得分:0)

对我来说似乎很简单?

int idx = 0;
for(String s: addressBook){
    if( s.indexOf(searchModifier) != -1)
        break;
    idx++;
}
return idx;