Почему такое решение не компилируется, а если вместо второго if написать else if то все работает?
for (int i = 0; i < strings.size(); i++) {
            if (strings.get(i).contains("р") && !strings.get(i).contains("л")) {
                strings.remove(i);
                i--;
            }
            //если написать else if, то работает
            if (!strings.get(i).contains("р") && strings.get(i).contains("л")) {
                strings.add(i, strings.get(i));
                i++;
            }
        }