У меня есть программа, у которой есть список элементов.
Затем я ищу строку и пытаюсь найти ее в указанном списке.
Я бы хотел, чтобы это произошло: находит первое вхождение, затем распечатывает его или сохраняет где-то, чтобы я мог использовать его позже (например, выделив выбор пользователя). Затем, как только я снова ищу ту же строку, она должна вернуть мне второе вхождение, затем третье и т. Д. c. Когда он не находит больше случаев, он должен go вернуться к началу и повторить его.
Это грубый пример того, что у меня есть:
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;
}
}
}
Я добавил break
внутри if
, поэтому я могу получить только первый результат. Если я удалю его, я получу все результаты.
В программе у меня есть похожий код, связанный с нажатием кнопки, выделяя выбор пользователя, если список содержит то, что пользователь искал, это всего лишь пример.
Что происходит в моя программа состоит в том, что будет подсвечен только первый результат (потому что я вышел из l oop) или будет выделен только последний результат (потому что я не вышел из l oop).
Как я могу сделать так, чтобы поиск продолжал с того места, где остановился, официально игнорируя результаты, которые он уже получил?