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:
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:
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.