Я сделаю это просто: у меня есть ArrayList имен, я должен удалить определенные слова, которые содержат определенную букву, но у меня возникают проблемы при перезапуске цикла for.Вот что я получил:
public static void someRandomFunction(){
List<String> arrList = new ArrayList<>(Arrays.asList("Hello",
"Everyone",
"I'm",
"Struggling",
"In",
"Computer",
"Science"));
System.out.println("Start of List: " + wordList + "\n");
System.out.println("\nDrop: \"a\"");
someRandomFunction(wordList, "a");
System.out.println("wordList is now: " + wordList);
}
public static List<String> removeIfContains(List<String> strList, String removeIf){
List<String> tempList = new ArrayList<>(strList); // creating a copy
for(int i = 0; i < tempList.size(); i++){
if(tempList.get(i).contains(removeIf))
tempList.remove(i);
}
//Return will not work because of incompatible types.
}
Пример того, каким должен быть скомпилированный код:
ArrayList [Здравствуйте, все, я, я изо всех сил, In,Компьютер, Наука]
Удалить слова, начинающиеся с буквы «А»:
Новый ArrayList [Привет, Все, я борюсь, В, Компьютер, Наука]
Удалите слова, начинающиеся с «I»:
Новый ArrayList [Привет, Всем, Я борюсь, Компьютер, Наука]
Проблема с моим кодом состоит в том, что он не будетверните список слов в прежнее состояние, когда он начинает читать новое слово, которое нужно отбросить.