how sort an array java tutorial with examples
Este tutorial explicará vários métodos para classificar uma matriz em Java em ordem crescente, decrescente e alfabética com a ajuda de exemplos simples:
A classificação organiza os dados em uma ordem específica. Os dados do computador consistem em registros compostos por um ou mais campos. Para usar os dados de forma eficiente e executar várias operações como pesquisa, acesso, etc., é aconselhável que esses dados sejam organizados em alguma ordem específica.
Por exemplo, se houver vários registros de dados do aluno, poderíamos organizar esses dados dependendo da identidade ou do nome do aluno. Isso é denominado como classificação. Portanto, a classificação é essencial para usar os dados de forma mais eficiente e fácil.
=> Visite a série de tutoriais de treinamento Java aqui
Em Java, os arrays contêm dados e devemos classificar esses dados para organizá-los de acordo com alguns critérios fornecidos. Neste tutorial, discutiremos a classificação de Arrays em detalhes, juntamente com exemplos simples.
O que você aprenderá:
Como classificar uma matriz em Java
Java fornece os seguintes métodos para classificar os arrays.
- Usando For Loops: Você pode usar loops for para percorrer a matriz e comparar elementos adjacentes enquanto os percorre e os coloca em ordem.
- Usando o método Sort: A classe Arrays do pacote ‘java.util’ fornece o método de classificação que recebe uma matriz como argumento e classifica a matriz. Este é um método de classificação direta e você pode classificar uma matriz com apenas uma chamada de método.
Vamos explorar esses dois métodos em detalhes.
Usando Loops
Você pode classificar a matriz usando a classificação manual como o uso de loops for. O que você pode fazer é usar dois loops for, um para percorrer o array desde o início e outro loop for dentro do externo para percorrer o próximo elemento.
No corpo, você compara os elementos adjacentes e os troca se não estiverem em ordem. Você pode usar uma variável temporária para a troca de elementos.
O programa abaixo mostra essa abordagem.
public class Main { public static void main(String() args) { //define original array int () intArray = new int () {52,45,32,64,12,87,78,98,23,7}; int temp = 0; //print original array System.out.println('Original array: '); for (int i = 0; i Resultado:

A classificação usando o loop for pode ser eficiente quando arrays menores estão envolvidos. Pode ficar complicado quando o tamanho da matriz aumenta.
Método de classificação
O método de classificação fornecido pela classe ‘java.util.Arrays’ é uma maneira muito simples e rápida de classificar uma matriz. Este método pode classificar elementos de tipos primitivos, bem como objetos que implementam a interface comparável.
Quando os elementos de tipo primitivo estão sendo classificados, o método de classificação usa quicksort. Quando os objetos estão sendo classificados, mergesort iterativo é usado.
O protótipo geral do método de classificação é o seguinte:
Arrays.sort (T() t_arr);
Aqui, T () é o tipo de dados e t_arr é o array a ser classificado.
O protótipo acima funciona para arrays que implementam a interface Comparable.
Para matrizes de objetos personalizados, você pode usar outra variante de Arrays.sort conforme fornecido abaixo .
Arrays.sort(T() t_arr, Comparator.c);
Portanto, para os arrays que não implementam a interface Comparable, um comparador deve ser passado na função de classificação. Observe que, por padrão, o método de classificação classifica a matriz em ordem crescente.
Vejamos alguns exemplos específicos de classificação de array.
Classificar matriz numérica em ordem crescente
A primeira demonstração é a classificação da matriz de números em ordem crescente usando métodos de classificação. Como já mencionado, por padrão, o método de classificação classifica a matriz em ordem crescente. Portanto, para classificar uma matriz numérica em ordem crescente, basta chamar o método na matriz em questão.
Dada a seguir é um exemplo para mostrar isso.
melhor software livre para melhorar o desempenho do pc
import java.util.Arrays; public class Main { public static void main(String() args) { //define an array int() intArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; System.out.printf('Original Array : %s', Arrays.toString(intArray)); Arrays.sort(intArray); System.out.printf('
Sorted Array : %s', Arrays.toString(intArray)); } }
Resultado:

No programa acima, apenas uma chamada de função classifica a matriz em ordem crescente.
Classificar matriz numérica em ordem decrescente
A próxima tarefa é classificar a matriz numérica em ordem decrescente. Para fazer isso, o método de classificação é fornecido com um segundo argumento ‘Collections.reverseOrder ()’ que classifica uma matriz em ordem decrescente.
O programa para classificar a matriz em ordem decrescente é fornecido abaixo.
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { //Collections.reverseOrder do not work for primitive Types //define an array with Integer Integer() IntArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; //print original array System.out.printf('Original Array: %s', Arrays.toString(IntArray)); // Sorts IntArray in descending order Arrays.sort(IntArray, Collections.reverseOrder()); //print sorted array System.out.printf('
Sorted Array: %s', Arrays.toString(IntArray)); } }
Resultado:

Classificar matriz de string em ordem alfabética
Assim como as matrizes numéricas, você também pode classificar a matriz de string usando a função de classificação. Quando você passa o array de strings, o array é classificado em ordem alfabética crescente. Para classificar a matriz em ordem alfabética decrescente, você deve fornecer o método de interface de coleções reverseOrder () como o segundo argumento.
O programa a seguir demonstra a classificação de uma matriz de string em ordem crescente e decrescente.
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { String str_Array() = {'Java', 'Python', 'Perl', 'C++', 'C#', 'AS400'}; System.out.printf('Original Array:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in ascending order Arrays.sort(str_Array); System.out.printf('Array sorted in ascending order:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in descending order Arrays.sort(str_Array, Collections.reverseOrder()); System.out.printf('Array sorted in descending order :
%s
', Arrays.toString(str_Array)); } }
Resultado:

A saída do programa mostra uma matriz classificada de strings em ordem crescente e decrescente.
perguntas frequentes
P # 1) O que é classificação em Java?
Responda: A classificação refere-se à organização dos dados em ordem alfabética ou numérica.
P # 2) Qual técnica de classificação é usada na classificação de arrays em Java?
Responda: Arrays usam Quicksort dual-pivot para tipos de dados primitivos e Mergesort para objetos de classificação.
P # 3) O que é um comparador em Java?
Responda: A interface de comparação é uma parte do pacote java.util e é usada para organizar os objetos definidos pelo usuário. A interface de comparação é usada principalmente durante a classificação de objetos usando o método de classificação.
P # 4) Qual é o uso de Classificação em Java?
Responda: A classificação é uma técnica de organizar os dados em uma ordem específica. A classificação de dados é útil, pois podemos pesquisar dados com mais eficiência e rapidez. Também podemos realizar facilmente outras operações como acessar, armazenar, etc. nos dados solicitados.
P # 5) É possível classificar listas em Java?
Responda: sim. Listas são parte da interface de coleções em Java e podemos usar o método sort () da interface de coleções para classificar a lista.
Conclusão
Isso conclui nossa discussão sobre a classificação de arrays em Java. Discutimos os vários métodos para classificar arrays em Java, incluindo aqueles fornecidos por pacotes Java, bem como o método tradicional de usar loops ‘for’ para classificar elementos de array um por um
Vimos como classificar uma matriz em ordem crescente e decrescente. Em seguida, aprendemos como classificar uma matriz de string em ordem alfabética.
Continuaremos a explorar mais tópicos sobre arrays em Java em nossos tutoriais subsequentes.
=> Veja os tutoriais Java completos para todos aqui
Leitura recomendada
- Tutorial de comprimento de array Java com exemplos de código
- Reverter uma matriz em Java - 3 métodos com exemplos
- Tutorial JAVA para iniciantes: mais de 100 tutoriais práticos em vídeo Java
- Tutorial de reflexão Java com exemplos
- Array genérico de Java - como simular matrizes genéricas em Java?
- Java 'this' Palavra-chave: Tutorial com exemplos de código
- Como Passar / Retornar um Array em Java
- Array Java - como imprimir elementos de um array em Java?