how sort an array java tutorial with examples
V tomto výučbe vám pomocou jednoduchých príkladov vysvetlím rôzne spôsoby triedenia poľa v jazyku Java vo vzostupnom, zostupnom a abecednom poradí:
Triedenie usporiada údaje v konkrétnom poradí. Počítačové údaje pozostávajú zo záznamov vytvorených z jedného alebo viacerých polí. Pre efektívne využitie dát a vykonávanie rôznych operácií, ako je vyhľadávanie, prístup, atď. Je vhodné, aby boli tieto dáta usporiadané v určitom konkrétnom poradí.
Napríklad, ak existuje veľa záznamov o údajoch študentov, mohli by sme tieto údaje usporiadať v závislosti od ID študenta alebo mena študenta. Toto sa nazýva triedenie. Preto je triedenie nevyhnutné pre efektívnejšie a jednoduchšie využitie údajov.
=> Navštívte sériu výučbových programov Java tu
V prostredí Java obsahujú polia údaje a mali by sme ich zoradiť, aby sme ich usporiadali podľa niektorých poskytnutých kritérií. V tomto výučbe sa budeme podrobne zaoberať triedením polí spolu s jednoduchými príkladmi.
Čo sa dozviete:
Ako zoradiť pole v Jave
Java poskytuje nasledujúce spôsoby triedenia polí.
- Použitie pre slučky: Pomocou slučiek môžete prechádzať pole a porovnávať susedné prvky pri ich prechádzaní a uvádzaní do poriadku.
- Použitie metódy Zoradiť: Trieda Arrays balíka „java.util“ poskytuje metódu triedenia, ktorá berie pole ako argument a triedi pole. Toto je metóda priameho triedenia a pole môžete triediť iba pomocou jedného volania metódy.
Pozrime sa podrobne na obidve tieto metódy.
Pomocou slučiek
Pole môžete triediť pomocou ručného triedenia, ako je napríklad použitie pre slučky. Čo môžete urobiť, je použiť dve slučky pre slučky, jednu na prechádzanie poľa od začiatku a druhú na slučku vo vonkajšej na prechádzanie nasledujúceho prvku.
V tele porovnáte susedné prvky a zameníte ich, ak nie sú v poriadku. Na zámenu prvkov môžete použiť dočasnú premennú.
Program uvedený nižšie ukazuje tento prístup.
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 Výkon:

Triedenie pomocou cyklu for môže byť efektívne, ak sa jedná o menšie polia. Môže sa to skomplikovať, keď sa veľkosť poľa zvýši.
Metóda triedenia
Metóda triedenia poskytovaná triedou „java.util.Arrays“ je veľmi jednoduchý a rýchlejší spôsob zoradenia poľa. Táto metóda dokáže triediť prvky primitívnych typov, ako aj objekty, ktoré implementujú porovnateľné rozhranie.
Pri triedení prvkov primitívneho typu používa metóda triedenia quicksort. Pri triedení objektov sa používa iteratívne zlúčenie.
Všeobecný prototyp metódy triedenia je nasledovný:
Arrays.sort (T[] t_arr);
Tu je T [] dátový typ a t_arr je pole, ktoré sa má triediť.
Vyššie uvedený prototyp funguje pre polia implementujúce porovnateľné rozhranie.
Pre polia vlastných objektov môžete použiť inú variantu Arrays.sort, ako je uvedené nižšie .
Arrays.sort(T[] t_arr, Comparator.c);
Takže pre polia, ktoré neimplementujú porovnateľné rozhranie, je potrebné odovzdať komparátor vo funkcii zoradenia. Pamätajte, že predvolene metóda triedenia zoradí pole vo vzostupnom poradí.
Pozrime sa na niektoré konkrétne príklady radenia polí.
Zoraďte číselné pole vzostupne
Prvou ukážkou je triedenie číselného poľa vo vzostupnom poradí pomocou metód triedenia. Ako už bolo spomenuté, predvolene metóda triedenia zoradí pole vo vzostupnom poradí. Ak chcete teda zoradiť numerické pole vo vzostupnom poradí, stačí zavolať metódu na príslušnom poli.
Nižšie je uvedený príklad, ktorý to ukazuje.
pohovor s administrátorom informatiky, otázky a odpovede
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)); } }
Výkon:

Vo vyššie uvedenom programe iba jedno volanie funkcie triedi pole vo vzostupnom poradí.
Zoraďte číselné pole v zostupnom poradí
Ďalšou úlohou je triediť číselné pole v zostupnom poradí. Za týmto účelom je metóda zoradenia poskytnutá s druhým argumentom „Collections.reverseOrder ()“, ktorý zoradí pole v zostupnom poradí.
Program na triedenie poľa v zostupnom poradí je uvedený nižšie.
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)); } }
Výkon:

Zoradiť pole reťazcov v abecednom poradí
Rovnako ako numerické polia, aj pole reťazcov môžete triediť pomocou funkcie zoradenia. Keď odovzdáte pole reťazcov, pole je zoradené vzostupne v abecednom poradí. Ak chcete zoradiť pole v zostupnom abecednom poradí, mali by ste ako druhý argument uviesť metódu rozhrania Zbierky reverseOrder ().
Nasledujúci program demonštruje zoradenie reťazcového poľa vo vzostupnom aj zostupnom poradí.
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)); } }
Výkon:

Výstup programu zobrazuje zoradené pole reťazcov vo vzostupnom aj zostupnom poradí.
často kladené otázky
Otázka 1) Čo je to triedenie v Jave?
Odpoveď: Zoradenie predstavuje usporiadanie údajov v abecednom alebo číselnom poradí.
Otázka 2) Ktorá technika triedenia sa používa pri radení polí v Jave?
Odpoveď: Polia používajú dual-pivot Quicksort pre primitívne dátové typy a Mergesort pre triedenie objektov.
Otázka č. 3) Čo je to komparátor v Jave?
Odpoveď: Rozhranie komparátora je súčasťou balíka java.util a slúži na usporiadanie používateľom definovaných objektov. Rozhranie komparátora sa väčšinou používa pri triedení objektov metódou triedenia.
Otázka 4) Na čo slúži triedenie v Jave?
Odpoveď: Triedenie je technika usporiadania údajov v konkrétnom poradí. Triedenie údajov je užitočné, pretože údaje môžeme vyhľadávať efektívnejšie a rýchlejšie. S objednanými údajmi môžeme tiež ľahko vykonať ďalšie operácie, ako je prístup, ukladanie atď.
Otázka č. 5) Je možné v Jave triediť zoznamy?
Odpoveď: Áno. Zoznamy sú súčasťou rozhrania Collections v Jave a na triedenie zoznamu môžeme použiť metódu sort () rozhrania Collections.
Záver
Týmto sa dokončuje naša diskusia o triedení polí v Jave. Diskutovali sme o rôznych metódach triedenia polí v Jave vrátane tých, ktoré poskytujú balíčky Java, ako aj o tradičnej metóde používania slučiek „for“ na triedenie prvkov poľa jeden po druhom.
Videli sme, ako zoradiť pole vzostupne a zostupne. Potom sme sa naučili, ako zoradiť pole reťazcov v abecednom poradí.
V ďalších tutoriáloch budeme pokračovať v skúmaní ďalších tém o poliach v Jave.
=> Tu si pozrite kompletné výukové programy Java
Odporúčané čítanie
- Výukový program Java Array Length s príkladmi kódu
- Obrátiť pole v prostredí Java - 3 metódy s príkladmi
- Výukový program JAVA pre začiatočníkov: viac ako 100 praktických výučbových programov Java Video
- Výukový program Java Reflection s príkladmi
- Generické pole Java - Ako simulovať generické polia v prostredí Java?
- Java „toto“ kľúčové slovo: Výukový program s príkladmi kódu
- Ako odovzdať / vrátiť pole v Jave
- Java Array - Ako tlačiť prvky poľa v Jave?