Запутался с индексами! public class Solution { public static void main(String[] args) throws Exception { ArrayList<String> list = new ArrayList<String>(); list.add("роза"); // 0 list.add("лоза"); // 1 list.add("лира"); // 2 list = fix(list); for (String s : list) { System.out.println(s); } } public static ArrayList<String> fix(ArrayList<String> list) { for (int i = 0; i < list.size();i++){ if (list.get(i).contains("р") && list.get(i).contains("л")){ i++; } else if (list.get(i).contains("р")){ list.remove(i); i--; } else if (list.get(i).contains("л")){ list.add(list.get(i)); } } return list; } } Если можно , ближе к истине! Не нужно пожалуйста ответов типо : подумай что происходит с индексом тут! Я уже думал... что происходит там. И долго думал! Поэтому я обратился за помощью. Спасибо за понимание.