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.Comparatorcomparator = 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} ]
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