"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo ordenar una matriz 2D en Java por los valores en la primera columna?

¿Cómo ordenar una matriz 2D en Java por los valores en la primera columna?

Publicado el 2025-03-23
Navegar:192

How to Sort a 2D Array in Java by the Values in the First Column?

matriz 2d basada en valores de primera columna usando java arrays.sort

en java, clasificando una matriz 2d basada en los valores de una columna específica se puede lograr con el método de la matriz de segundo comparación. argumento.

Considere el siguiente ejemplo, donde tenemos una matriz 2D myarr que contiene pares de dobles:

double[][] myArr = new double[mySize][2];
// populate myArr with data

Para ordenar esta matriz basada en los valores de la primera columna, podemos usar la interfaz de comparación para definir una regla de comparación personalizada:

java.util.Comparator comparator = new java.util.Comparator() {
    public int compare(double[] a, double[] b) {
        return Double.compare(a[0], b[0]);
    }
};

podemos pasar este comparador al método de matrizs.sort:

java.util.Arrays.sort(myArr, comparator);

alternativamente, en java 8 o más tarde, podemos usar una función lambda en lugar de la clase inner anónima para la clase inner para la Comparator:

Arrays.sort(myArr, Comparator.comparingDouble(o -> o[0]));

Después de clasificar, el myarr se ordenará en función de los valores en la primera columna. El resultado será:

[
  {1.0, 5.0},
  {12.0, 100.6},
  {12.1, 0.85},
  {13.0, 1.55}
]
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3