Эффективный способ разделить список на списки размером n

У меня есть ArrayList, который я хочу разделить на более мелкие списки размером n и выполнить операцию над каждым. Мой текущий способ сделать это

реализован с помощью ArrayLists в Java (подойдет любой псевдокод)

    for (int i = 1; i <= Math.floor((A.size() / n)); i++) {
            ArrayList temp = subArray(A, ((i * n) - n),
                    (i * n) - 1);
            // do stuff with temp
        }

    private ArrayList<Comparable> subArray(ArrayList A, int start,
                int end) {
            ArrayList toReturn = new ArrayList();
            for (int i = start; i <= end; i++) {
                toReturn.add(A.get(i));
            }
            return toReturn;
        }

где A - это список, n - размер желаемых списков

Я считаю, что этот способ занимает слишком много времени при работе со значительно большими списками (размером до 1 миллиона), поэтому я пытаюсь понять, что было бы более эффективным.

51
задан curiosa 20 October 2019 в 02:18
поделиться