Como classificar matriz 2d em Java

Como Classificar Matriz 2d Em Java

Uma matriz bidimensional ou 2D é uma coleção de colunas e linhas. Os programadores podem acessar aleatoriamente os elementos da matriz 2D ou cada célula individualmente, utilizando seus índices. Com a ajuda da classificação, os elementos do array são organizados de acordo com os requisitos, seja em ordem crescente ou decrescente. Mais especificamente, o Java “ Array.sort() ” pode ser utilizado para os elementos de uma matriz 2D dentro de um programa.

Este tutorial discutirá como classificar arrays 2D em Java.

Como classificar matriz 2D em Java?

Em Java, você pode classificar um array 2D usando:



Vamos agora discutir cada um dos métodos mencionados um por um.



Método 1: classificação por linha de matriz 2D em Java

Na classificação por linha, você pode utilizar o “ Array.sort() ” para ordenar os elementos do array. Ele itera cada elemento de uma linha específica e troca os inteiros quando o elemento atual é maior que o próximo.



Vamos conferir um exemplo para entender o lado da implementação.

Exemplo
Neste exemplo, primeiro vamos criar um método estático “ rowWiseSorting() ” para classificar a matriz em ordem crescente chamando “ Arrays.sort() ” da classe Arrays e, em seguida, imprima os elementos ordenados do array usando “ por ' rotações:

estático int Ordenação por linha ( int arr [ ] [ ] ) {
por ( int eu = 0 ; eu < arr. comprimento ; eu ++ ) {
Matrizes. ordenar ( arr [ eu ] ) ;
}
por ( int eu = 0 ; eu < arr. comprimento ; eu ++ ) {
por ( int j = 0 ; j < arr [ eu ] . comprimento ; j ++ ) {
Sistema. Fora . imprimir ( arr [ eu ] [ j ] + ' ' ) ;
}
Sistema. Fora . imprimir ( ) ;
}
Retorna 0 ;
}

Aqui, temos um array 2D chamado “ arr ” de forma matricial 3×3 (três linhas e três colunas). Agora, para ordenar as linhas do array criado, chamaremos o método “ rowWiseSorting() ” passando array como argumento no método main():



público estático vazio a Principal ( Corda [ ] argumentos ) {
int arr [ ] [ ] = novo int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , vinte } ,
{ 28 , 25 , 8 } ,
{ onze , 5 , 1 } } ;
Ordenação por linha ( arr ) ;
}
}

Como você pode ver, classificamos nosso array em ordem crescente:

Quer experimentar a classificação por colunas em Java? Dê uma olhada na seção a seguir.

Método 2: classificação em colunas de matriz 2D em Java

Para classificar em colunas um Array 2D em Java, chame o método “ Arrays.sort() ” método com um “ Interface do comparador ”. Uma interface Comparator define um “ comparar() ” que aceita dois parâmetros e os compara entre si. Se os parâmetros passados ​​forem iguais, retorna zero. Se o 1º parâmetro for maior que o 2º parâmetro, retorna um valor positivo. Caso contrário, um valor negativo é retornado.

Exemplo
Neste exemplo, vamos criar um método chamado “ columnWiseSorting() ” com dois argumentos, uma matriz 2D “ ar[][] ” e um número de coluna chamado “ visão global ”. Em seguida, ligue para o “ Arrays.sort() ” método com o “ Interface do comparador ” para comparar os valores de uma coluna. Finalmente, vamos imprimir os valores da coluna ordenada do array usando “ por ' rotações:

estático vazio columnWiseSorting ( int arr [ ] [ ] , int visão global ) {
Matrizes. ordenar ( arr , novo Comparador < int [ ] > ( ) {
público int comparar ( int [ ] primeiro , int [ ] scnd ) {
E se ( primeiro [ visão global - 1 ] > scnd [ visão global - 1 ] ) {
Retorna 1 ;
}
senão Retorna - 1 ;
}
} ) ;
}
por ( int eu = 0 ; eu < arr. comprimento ; eu ++ ) {
por ( int j = 0 ; j < arr [ eu ] . comprimento ; j ++ ) {
Sistema. Fora . imprimir ( arr [ eu ] [ j ] + ' ' ) ;
}
Sistema. Fora . imprimir ( ) ;
}

Vamos utilizar o array já criado chamado “ arr ” e passe para o “ columnWiseSorting() ” como primeiro parâmetro e “ 1 ” como o segundo parâmetro:

columnWiseSorting ( arr , 1 ) ;

A execução do programa acima ordenará a primeira coluna do nosso array 2D:

Compilamos todas as informações essenciais para classificar o array 2D em Java.

Conclusão

Em Java, um array 2D pode ser classificado por linha ou coluna conforme os requisitos. Para classificação por linha, apenas o método Array.sort() é utilizado; no entanto, na classificação por colunas, o método Array.sort() é chamado com a interface Comparator. Para classificação por linha, nenhum parâmetro é passado para o método Array.sort(), enquanto que, no método de classificação por coluna, o número de colunas que precisam ser classificadas é mencionado como parâmetro. Este tutorial discutiu os métodos para classificar a matriz 2D em Java com exemplos.