【发布时间】:2020-07-08 10:44:41
【问题描述】:
我有一个包含项目列表的程序。
然后我搜索一个字符串并尝试在所述列表中找到它。
我想要发生的事情是:它找到第一个匹配项,然后将其打印出来或保存在某处,以便我以后可以使用它(例如,通过突出显示用户选择)。然后,一旦我再次搜索相同的字符串,它应该返回第二个匹配项,然后是第三个匹配项,等等。当它没有找到更多匹配项时,它应该返回开始并重复。
这是我所拥有的一个粗略的例子:
public static void main(String[] args) {
ArrayList<String> exampleList = new ArrayList<String>();
exampleList.add("string1");
exampleList.add("john");
exampleList.add("string2");
exampleList.add("arnold");
exampleList.add("string3");
String inputExample = "str"
for (String s : exampleList) {
if (s.contains(inputExample)) {
System.out.println(s);
break;
}
}
}
我在if 中添加了break,所以我只能得到第一个结果。如果我删除它,我将得到所有结果。
在程序中,我有与单击按钮相关联的类似代码,如果列表包含用户搜索的内容,则突出显示用户选择,这只是一个示例。
在我的程序中发生的情况是,只有第一个结果会被突出显示(因为我跳出了循环)或只有最后一个结果会被突出显示(因为我没有跳出循环)。
我怎样才能使搜索从中断的地方继续,正式忽略它已经获得的结果?
【问题讨论】:
标签: java search arraylist find