how sort an array java tutorial with examples
Questo tutorial spiegherà vari metodi per ordinare un array in Java in ordine crescente, decrescente e alfabetico con l'aiuto di semplici esempi:
L'ordinamento dispone i dati in un ordine specifico. I dati del computer sono costituiti da record costituiti da uno o più campi. Per utilizzare i dati in modo efficiente ed eseguire varie operazioni come ricerca, accesso, ecc., È consigliabile che questi dati siano disposti in un ordine specifico.
Per esempio, se sono presenti numerosi record di dati degli studenti, è possibile disporre questi dati in base all'ID o al nome dello studente. Questo è definito come ordinamento. Quindi l'ordinamento è essenziale per utilizzare i dati in modo più efficiente e semplice.
=> Visita la serie di tutorial di formazione Java qui
In Java, gli array contengono dati e dovremmo ordinare questi dati per disporli secondo alcuni criteri forniti. In questo tutorial, discuteremo in dettaglio l'ordinamento degli array insieme a semplici esempi.
Cosa imparerai:
Come ordinare un array in Java
Java fornisce i seguenti metodi per ordinare gli array.
- Utilizzo dei cicli For: Puoi usare i cicli for per attraversare l'array e confrontare gli elementi adiacenti mentre li attraversi e li metti in ordine.
- Utilizzando il metodo Sort: La classe Arrays del pacchetto 'java.util' fornisce il metodo di ordinamento che accetta un array come argomento e ordina l'array. Questo è un metodo di ordinamento diretto e puoi ordinare un array con una sola chiamata al metodo.
Esploriamo entrambi questi metodi in dettaglio.
Utilizzo dei loop
Puoi ordinare l'array usando l'ordinamento manuale come usare i cicli for. Quello che puoi fare è usare due cicli for, uno per attraversare l'array dall'inizio e un altro ciclo for all'interno di quello esterno per attraversare l'elemento successivo.
Nel corpo, confronti gli elementi adiacenti e scambiali se non sono in ordine. È possibile utilizzare una variabile temporanea per lo scambio di elementi.
Il programma seguente mostra questo approccio.
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 Produzione:

L'ordinamento utilizzando il ciclo for può essere efficiente quando sono coinvolti array più piccoli. Può diventare complicato quando la dimensione dell'array aumenta.
Metodo di ordinamento
Il metodo di ordinamento fornito dalla classe 'java.util.Arrays' è un modo molto semplice e veloce per ordinare un array. Questo metodo può ordinare elementi di tipi primitivi così come oggetti che implementano l'interfaccia comparabile.
Quando gli elementi di tipo primitivo vengono ordinati, il metodo di ordinamento utilizza quicksort. Quando gli oggetti vengono ordinati, viene utilizzato il mergesort iterativo.
Il prototipo generale del metodo di ordinamento è il seguente:
Arrays.sort (T() t_arr);
Qui, T () è il tipo di dati e t_arr è l'array che deve essere ordinato.
Il prototipo di cui sopra funziona per array che implementano l'interfaccia Comparable.
Per gli array di oggetti personalizzati, è possibile utilizzare un'altra variante di Arrays.sort come indicato di seguito .
Arrays.sort(T() t_arr, Comparator.c);
Quindi, per gli array che non implementano l'interfaccia Comparable, dovrebbe essere passato un comparatore nella funzione di ordinamento. Notare che per impostazione predefinita il metodo di ordinamento ordina l'array in ordine crescente.
Vediamo alcuni esempi specifici di ordinamento di array.
Ordina matrice numerica in ordine crescente
La prima dimostrazione è l'ordinamento della matrice di numeri in ordine crescente utilizzando metodi di ordinamento. Come già accennato, per impostazione predefinita il metodo di ordinamento ordina l'array in ordine crescente. Pertanto, per ordinare un array numerico in ordine crescente, è sufficiente chiamare il metodo sull'array in questione.
Di seguito è riportato un esempio per dimostrarlo.
test whitebox e blackbox con esempio
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)); } }
Produzione:

Nel programma precedente, una sola chiamata di funzione ordina l'array in ordine crescente.
Ordina matrice numerica in ordine decrescente
Il prossimo compito è ordinare l'array numerico in ordine decrescente. Per fare ciò, il metodo di ordinamento viene fornito con un secondo argomento 'Collections.reverseOrder ()' che ordina un array in ordine decrescente.
Di seguito viene fornito il programma per ordinare gli array in ordine decrescente.
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)); } }
Produzione:

Ordina array di stringhe in ordine alfabetico
Proprio come gli array numerici, puoi anche ordinare l'array di stringhe usando la funzione di ordinamento. Quando si passa la matrice di stringhe, la matrice viene ordinata in ordine alfabetico crescente. Per ordinare l'array in ordine alfabetico decrescente, è necessario fornire il metodo dell'interfaccia Collezioni reverseOrder () come secondo argomento.
Il seguente programma mostra l'ordinamento di un array di stringhe in ordine 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)); } }
Produzione:

L'output del programma mostra un array ordinato di stringhe sia in ordine crescente che decrescente.
Domande frequenti
D # 1) Che cos'è l'ordinamento in Java?
Risposta: L'ordinamento si riferisce alla disposizione dei dati in ordine alfabetico o numerico.
D # 2) Quale tecnica di ordinamento viene utilizzata nell'ordinamento di array in Java?
Risposta: Gli array utilizzano Quicksort dual-pivot per i tipi di dati primitivi e Mergesort per l'ordinamento degli oggetti.
D # 3) Cos'è un comparatore in Java?
Risposta: L'interfaccia del comparatore fa parte del pacchetto java.util e viene utilizzata per organizzare gli oggetti definiti dall'utente. L'interfaccia del comparatore viene utilizzata principalmente durante l'ordinamento degli oggetti utilizzando il metodo di ordinamento.
Q # 4) A cosa serve l'ordinamento in Java?
Risposta: L'ordinamento è una tecnica per disporre i dati in un ordine particolare. L'ordinamento dei dati è utile in quanto possiamo cercare i dati in modo più efficiente e rapido. Possiamo anche eseguire facilmente altre operazioni come l'accesso, la memorizzazione, ecc. Sui dati ordinati.
D # 5) È possibile ordinare gli elenchi in Java?
Risposta: Sì. Le liste fanno parte dell'interfaccia delle collezioni in Java e possiamo usare il metodo sort () dell'interfaccia delle collezioni per ordinare la lista.
Conclusione
Questo completa la nostra discussione sull'ordinamento degli array in Java. Abbiamo discusso i vari metodi per ordinare gli array in Java, inclusi quelli forniti dai pacchetti Java, nonché il metodo tradizionale di utilizzare i cicli 'for' per ordinare gli elementi dell'array uno per uno.
Abbiamo visto come ordinare un array in ordine crescente e decrescente. Quindi abbiamo imparato come ordinare un array di stringhe in ordine alfabetico.
Continueremo a esplorare altri argomenti sugli array in Java nei nostri tutorial successivi.
=> Guarda i tutorial Java completi per tutti qui
Lettura consigliata
- Tutorial sulla lunghezza di array Java con esempi di codice
- Invertire un array in Java - 3 metodi con esempi
- Tutorial JAVA per principianti: oltre 100 tutorial video Java pratici
- Tutorial Java Reflection con esempi
- Java Generic Array - Come simulare array generici in Java?
- Parola chiave Java 'questo': tutorial con esempi di codice
- Come passare / restituire un array in Java
- Java Array - Come stampare elementi di un array in Java?