how sort an array java tutorial with examples
Aquest tutorial explicarà diversos mètodes per ordenar una matriu a Java en ordre ascendent, descendent i alfabètic amb l'ajuda d'exemples simples:
L’ordenació organitza les dades en un ordre específic. Les dades informàtiques consisteixen en registres formats per un o més camps. Per utilitzar les dades de manera eficient i realitzar diverses operacions com la cerca, l'accés, etc., és recomanable que aquestes dades estiguin ordenades en un ordre específic.
Per exemple, si hi ha nombrosos registres de dades dels estudiants, podríem organitzar aquestes dades en funció de la identificació o el nom de l'estudiant. Això es denomina ordenació. Per tant, l’ordenació és essencial per utilitzar les dades amb més eficiència i facilitat.
=> Visiteu la sèrie de tutorials de formació Java aquí
A Java, les matrius contenen dades i hauríem d’ordenar-les per ordenar-les segons alguns criteris proporcionats. En aquest tutorial, analitzarem detalladament l’ordenació de matrius juntament amb exemples senzills.
Què aprendreu:
Com ordenar una matriu a Java
Java proporciona els mètodes següents per ordenar les matrius.
- Ús de bucles: Podeu utilitzar els bucles per recórrer la matriu i comparar els elements adjacents mentre els recorreu i els ordeneu.
- Mitjançant el mètode Ordena: La classe Arrays del paquet ‘java.util’ proporciona el mètode d’ordenació que pren una matriu com a argument i ordena la matriu. Es tracta d’un mètode d’ordenació directa i podeu ordenar una matriu amb una sola crida de mètode.
Explorem amb detall aquests dos mètodes.
Ús de bucles
Podeu ordenar la matriu mitjançant una classificació manual, com per a bucles. El que podeu fer és utilitzar dos per a bucles, un per recórrer la matriu des de l’inici i un altre per bucle dins de l’exterior per recórrer l’element següent.
Al cos, compareu els elements adjacents i els intercanvieu si no estan en ordre. Podeu utilitzar una variable temporal per a l'intercanvi d'elements.
El programa següent mostra aquest enfocament.
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 Sortida:

L’ordenació mitjançant el bucle pot ser eficient quan hi ha matrius més petites. Es pot complicar quan augmenta la mida de la matriu.
Mètode d'ordenació
El mètode d’ordenació proporcionat per la classe ‘java.util.Arrays’ és una manera molt senzilla i ràpida d’ordenar una matriu. Aquest mètode pot ordenar tant elements primitius com objectes que implementen la interfície comparable.
Quan s’ordenen elements de tipus primitiu, el mètode d’ordenació utilitza quicksort. Quan s’ordenen objectes, s’utilitza mergerort iteratiu.
El prototip general del mètode de classificació és el següent:
Arrays.sort (T() t_arr);
Aquí, T () és el tipus de dades i t_arr és la matriu que s'ha d'ordenar.
El prototip anterior funciona per a matrius que implementen una interfície comparable.
Per a matrius d'objectes personalitzats, podeu utilitzar una altra variant d'Arrays.sort tal com es mostra a continuació .
Arrays.sort(T() t_arr, Comparator.c);
Per tant, per a les matrius que no implementen una interfície comparable, s’ha de passar un comparador a la funció d’ordenació. Tingueu en compte que per defecte el mètode d'ordenació ordena la matriu en ordre ascendent.
Vegem alguns exemples específics d’ordenació de matrius.
Ordeneu la matriu numèrica en ordre ascendent
La primera demostració és ordenar la matriu de nombres en ordre ascendent mitjançant mètodes d'ordenació. Com ja s'ha esmentat, per defecte el mètode d'ordenació ordena la matriu en ordre ascendent. Per tant, per ordenar una matriu numèrica en ordre ascendent, només haureu de trucar al mètode de la matriu en qüestió.
A continuació es mostra un exemple per mostrar-ho.
llocs web que us permeten descarregar vídeos de youtube
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)); } }
Sortida:

Al programa anterior, només una trucada de funció ordena la matriu en ordre ascendent.
Ordeneu la matriu numèrica en ordre descendent
La següent tasca és ordenar la matriu numèrica en ordre descendent. Per fer-ho, el mètode d'ordenació es proporciona amb un segon argument 'Collections.reverseOrder ()' que ordena una matriu en ordre descendent.
A continuació es mostra el programa per ordenar la matriu en ordre descendent.
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)); } }
Sortida:

Ordeneu la matriu de cadenes en ordre alfabètic
Igual que les matrius numèriques, també podeu ordenar la matriu de cadenes mitjançant la funció d'ordenació. Quan passeu la matriu de cadenes, la matriu s’ordena per ordre alfabètic ascendent. Per ordenar la matriu en ordre alfabètic descendent, heu de proporcionar el mètode de la interfície de col·leccions reverseOrder () com a segon argument.
El programa següent mostra l’ordenació d’una matriu de cadenes en ordre ascendent i descendent.
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)); } }
Sortida:

La sortida del programa mostra una matriu ordenada de cadenes tant en ordre ascendent com descendent.
Preguntes freqüents
P # 1) Què és ordenar a Java?
Resposta: L’ordenació fa referència a l’ordenació de les dades per ordre alfabètic o numèric.
Q # 2) Quina tècnica d'ordenació s'utilitza a Arrays sort a Java?
Resposta: Les matrius utilitzen Quicksort de doble pivot per a tipus de dades primitives i Mergesort per ordenar objectes.
P # 3) Què és un comparador a Java?
Resposta: La interfície de comparació forma part del paquet java.util i s’utilitza per organitzar els objectes definits per l’usuari. La interfície de comparació s’utilitza principalment durant l’ordenació d’objectes mitjançant el mètode d’ordenació.
Q # 4) Què utilitza l’ordenació a Java?
Resposta: L’ordenació és una tècnica per ordenar les dades en un ordre concret. L’ordenació de dades és útil ja que podem cercar dades de manera més eficient i ràpida. També podem realitzar fàcilment altres operacions com accedir, emmagatzemar, etc. a les dades ordenades.
P # 5) És possible ordenar llistes a Java?
Resposta: Sí. Les llistes formen part de la interfície de col·leccions a Java i podem utilitzar el mètode sort () de la interfície de col·leccions per ordenar la llista.
Conclusió
Això completa la nostra discussió sobre l’ordenació de matrius a Java. Hem discutit els diversos mètodes per ordenar matrius a Java, inclosos els proporcionats pels paquets Java, així com el mètode tradicional d’utilitzar bucles ‘per’ per ordenar els elements de matriu un per un.
Vam veure com ordenar una matriu en ordre ascendent i descendent. Després vam aprendre a ordenar una matriu de cadenes en ordre alfabètic.
Seguirem explorant més temes sobre matrius a Java en els nostres tutorials posteriors.
=> Vegeu aquí els tutorials Java complets
Lectura recomanada
- Tutorial de longitud de matriu de Java amb exemples de codi
- Inverteix una matriu a Java: 3 mètodes amb exemples
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java
- Tutorial de reflexió de Java amb exemples
- Matriu genèrica de Java: com simular matrius genèrics a Java?
- Paraula clau 'aquesta' de Java: tutorial amb exemples de codi
- Com passar / retornar una matriu a Java
- Java Array - Com imprimir elements d'un array a Java?