Самый быстрый способ воссоздать 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()
?