clasificando matrices 2D en Java usando Arrays.sort
una forma de ordenar una matriz 2D basada en los valores de sin implementar su propia clasificación El algoritmo es usar las matrices sobrecargadas#sort (t [] a, comparador c) método.
double[][] array = { {1, 5}, {13, 1.55}, {12, 100.6}, {12.1, .85} }; java.util.Arrays.sort(array, new java.util.Comparator() { public int compare(double[] a, double[] b) { return Double.compare(a[0], b[0]); } });
Este método toma un comparador como su segundo argumento, lo que le permite definir sus propios criterios de clasificación. En este caso, el comparador que hemos proporcionado compara el primer elemento de cada matriz doble [] y devuelve un entero que indica si es menor que, mayor o igual a 0.
usando funciones lambda En Java 8
Java 8 presenta funciones lambda, que proporcionan una forma concisa de definir los comparadores. Podemos reescribir el código anterior usando una función lambda de la siguiente manera:
Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));
esta función lambda toma una Double [] matriz como entrada y devuelve el valor del primer elemento como un doble. Al clasificar la matriz usando este comparador, logramos el resultado deseado.
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