Der schnellste Weg, um die ArrayList in einer for-Schleife neu zu erstellen

Verwenden Sie in Java die folgende Funktion, damit eine große Matrix X ihre spaltenspezifischen Elemente druckt:

// 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);
    }
}

Zuerst iteriere ich nach Spalten (Index j) und nach Zeilen (Index i).

Diese Funktion wird millionenfach für verschiedene Matrizen aufgerufen, daher sollte der Code optimiert werden, um die Leistungsanforderungen zu erfüllen. Ich frage mich über die Werte-Array. Wäre es schneller zu bedienenvalues = new ArrayList<Integer>(); odervalues = null anstattvalues.clear() ?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage