Cómo ordenar matriz 2d en Java

Como Ordenar Matriz 2d En Java



Una matriz bidimensional o 2D es una colección de columnas y filas. Los programadores pueden acceder aleatoriamente a los elementos de la matriz 2D oa cada celda individualmente utilizando sus índices. Con la ayuda de la clasificación, los elementos de la matriz se organizan según los requisitos, ya sea en orden ascendente o descendente. Más específicamente, el Java “ Matriz.ordenar() ” se puede utilizar para los elementos de una matriz 2D dentro de un programa.

Este tutorial discutirá cómo ordenar arreglos 2D en Java.

¿Cómo ordenar la matriz 2D en Java?

En Java, puede ordenar una matriz 2D usando:







Ahora discutiremos cada uno de los métodos mencionados uno por uno.



Método 1: clasificación por filas de 2D Array en Java

En la clasificación por filas, puede utilizar el ' Matriz.ordenar() ” método para ordenar los elementos de la matriz. Itera cada elemento de una fila específica e intercambia los enteros cuando el elemento actual es mayor que el siguiente.



Veamos un ejemplo para entender el lado de la implementación.





Ejemplo
En este ejemplo, primero crearemos un método estático “ FilaWiseSorting () ” para ordenar la matriz en orden ascendente llamando a “ Arrays.sort() ” de la clase Arrays y luego imprima los elementos ordenados de la matriz usando “ por bucles:

estático En t RowWiseClasificación ( En t Arr [ ] [ ] ) {
por ( En t i = 0 ; i < arreglo longitud ; i ++ ) {
matrices. clasificar ( Arr [ i ] ) ;
    }
por ( En t i = 0 ; i < arreglo longitud ; i ++ ) {
      por ( En t j = 0 ; j < Arr [ i ] . longitud ; j ++ ) {
Sistema. afuera . impresión ( Arr [ i ] [ j ] + ' ' ) ;
      }
Sistema. afuera . imprimir ( ) ;
    }
    devolver 0 ;
}

Aquí, tenemos una matriz 2D llamada ' Arr ” de forma matricial 3×3 (tres filas y tres columnas). Ahora, para ordenar las filas de la matriz creada, llamaremos al método ' FilaWiseSorting () ” pasando array como argumento en el método main():



público estático vacío principal ( Cuerda [ ] argumentos ) {
    En t Arr [ ] [ ] = nuevo En t [ ] [ ] {
          { 12 , 14 , 4 } ,
            { 14 , 23 , 20 } ,
            { 28 , 25 , 8 } ,
            { 11 , 5 , 1 } } ;
RowWiseClasificación ( Arr ) ;
    }
}

Como puede ver, hemos ordenado nuestra matriz en orden ascendente:

¿Quiere probar la clasificación por columnas en Java? Echa un vistazo a la siguiente sección.

Método 2: Clasificación por columnas de 2D Array en Java

Para ordenar por columnas una matriz 2D en Java, llame al ' Arrays.sort() ” método con un “ Interfaz del comparador ”. Una interfaz Comparator define un ' comparar() ” método que acepta dos parámetros y luego los compara entre sí. Si los parámetros pasados ​​son iguales, devuelve cero. Si el primer parámetro es mayor que el segundo parámetro, devuelve un valor positivo. Si no, se devuelve un valor negativo.

Ejemplo
En este ejemplo, crearemos un método llamado “ columnaWiseSorting() ” con dos argumentos, una matriz 2D “ arr[][] ” y un número de columna llamado “ visión general ”. Luego, llame al “ Arrays.sort() ” método con el “ Interfaz del comparador ” para comparar los valores de una columna. Finalmente, imprimiremos los valores de la columna ordenada de la matriz usando ' por bucles:

estático vacío ColumnWiseSorting ( En t Arr [ ] [ ] , En t visión general ) {
matrices. clasificar ( Arr , nuevo comparador < En t [ ] > ( ) {
público En t comparar ( En t [ ] primero , En t [ ] escanear ) {
                          si ( primero [ visión general - 1 ] > escanear [ visión general - 1 ] ) {
                                  devolver 1 ;
                            }
                          más devolver - 1 ;
                            }
                          } ) ;
}
    por ( En t i = 0 ; i < arreglo longitud ; i ++ ) {
      por ( En t j = 0 ; j < Arr [ i ] . longitud ; j ++ ) {
Sistema. afuera . impresión ( Arr [ i ] [ j ] + ' ' ) ;
    }
Sistema. afuera . imprimir ( ) ;
}

Utilizaremos la matriz ya creada llamada ' Arr ” y pásalo al “ columnaWiseSorting() ” como primer parámetro y “ 1 ” como el segundo parámetro:

ColumnWiseSorting ( Arr , 1 ) ;

La ejecución del programa anterior ordenará la primera columna de nuestra matriz 2D:

Recopilamos toda la información esencial para ordenar la matriz 2D en Java.

Conclusión

En Java, una matriz 2D se puede ordenar por filas o por columnas según los requisitos. Para la ordenación por filas, solo se utiliza el método Array.sort(); sin embargo, en la ordenación por columnas, el método Array.sort() se llama con la interfaz Comparator. Para la ordenación por filas, no se pasa ningún parámetro al método Array.sort(), mientras que, en el método de ordenación por columnas, el número de columnas que deben ordenarse se menciona como parámetro. Este tutorial discutió los métodos para ordenar la matriz 2D en Java con ejemplos.