Самый быстрый способ воссоздать ArrayList в цикле for

В Java используется следующая функция для огромной матрицы X для печати ее элементов, отличных от столбцов:

// create the list of distinct values
List<Integer> values = new ArrayList<Integer>();

// X is n * m int[][] matrix
for (int j = 0, x; j < m; j++) {
    values.clear();
    for (int i = 0; i < n; i++) {
        x = X[i][j];
        if (values.contains(x)) continue;
        System.out.println(x);
        values.add(x);
    }
}

Сначала я выполняю итерации по столбцам (индекс j), а внутри по строкам (индекс i).

Эта функция будет вызываться миллионы раз для разных матриц, поэтому код должен быть оптимизирован для соответствия требованиям производительности. Я задаюсь вопросом о массиве значений. Будет ли быстрее использоватьvalues = new ArrayList<Integer>(); или жеvalues = null вместоvalues.clear() ?

Ответы на вопрос(4)

Ваш ответ на вопрос