В статье про удаление элемента из списка ArrayList говорится, о недопустимости применения цикла for для осуществления операций со списком. Причем говорится не только про удаление, но и про любые изменения списка. Имеются ли тут совершенно любые операции со списком, или только те, что могут изменить его размер? В задаче "Перестановочка подоспела" (7 уровень, 12 лекция), я использовал обычный for, удалял и добавлял элементы (размер списка от этого не изменился), считается ли это неправильным подходом в решении задачи?
package com.javarush.task.task07.task0720;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

/*
Перестановочка подоспела
*/

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(reader.readLine());
        int m = Integer.parseInt(reader.readLine());
        ArrayList<String> list = new ArrayList<String>();
        for (int i = 0; i < n; i++){
            list.add(reader.readLine());
        }
        for (int y = 0; y < m; y++){
            list.add(list.get(0));
            list.remove(0);
        }
        for (int z = 0; z < list.size(); z++){
            System.out.println(list.get(z));
        }
    }
}