how sort an array java tutorial with examples
Tento výukový program vysvětlí různé metody třídění pole v jazyce Java ve vzestupném, sestupném a abecedním pořadí pomocí jednoduchých příkladů:
Řazení uspořádá data v určitém pořadí. Počítačová data se skládají ze záznamů vytvořených z jednoho nebo více polí. Chcete-li efektivně využívat data a provádět různé operace, jako je vyhledávání, přístup atd., Je vhodné, aby byla tato data uspořádána v určitém konkrétním pořadí.
Například, pokud existuje mnoho záznamů o studentských datech, mohli bychom tyto údaje uspořádat v závislosti na ID studenta nebo jménu studenta. Toto se nazývá třídění. Proto je řazení důležité pro efektivnější a snadnější použití dat.
=> Navštivte sérii výukových programů Java zde
V Javě obsahují pole data a měli bychom tato data seřadit, abychom je uspořádali podle poskytnutých kritérií. V tomto kurzu se budeme podrobně zabývat tříděním polí spolu s jednoduchými příklady.
Co se naučíte:
Jak třídit pole v Javě
Java poskytuje následující metody třídění polí.
- Použití pro smyčky: Smyčky můžete použít k procházení pole a porovnávání sousedních prvků při jejich procházení a uvádění do pořádku.
- Použití metody řazení: Třída Arrays balíčku „java.util“ poskytuje metodu řazení, která bere pole jako argument a třídí pole. Toto je metoda přímého řazení a pole můžete třídit pouze pomocí jednoho volání metody.
Podívejme se podrobně na obě tyto metody.
Pomocí smyček
Pole můžete třídit pomocí ručního třídění, jako je použití pro smyčky. Co můžete udělat, je použít dva pro smyčky, jeden pro procházení pole od výchozího a druhý pro smyčku uvnitř vnějšího pro procházení dalšího prvku.
V těle porovnáte sousední prvky a zaměníte je, pokud nejsou v pořádku. Pro výměnu prvků můžete použít dočasnou proměnnou.
Níže uvedený program ukazuje tento pří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ýstup:

Třídění pomocí smyčky for může být efektivní, pokud se jedná o menší pole. Může se to zkomplikovat, když se zvětší velikost pole.
Způsob řazení
Metoda třídění poskytovaná třídou „java.util.Arrays“ je velmi jednoduchý a rychlejší způsob třídění pole. Tato metoda může řadit prvky primitivních typů i objekty, které implementují srovnatelné rozhraní.
Při třídění elementů primitivního typu používá metoda řazení quicksort. Při třídění objektů se používá iterativní sloučení.
Obecný prototyp metody řazení je následující:
Arrays.sort (T() t_arr);
Tady je T () datový typ a t_arr je pole, které má být tříděno.
Výše uvedený prototyp funguje pro pole implementující srovnatelné rozhraní.
Pro pole vlastních objektů můžete použít jinou variantu Arrays.sort, jak je uvedeno níže .
Arrays.sort(T() t_arr, Comparator.c);
Takže pro pole, která neimplementují srovnatelné rozhraní, by měl být ve funkci řazení předán komparátor. Všimněte si, že ve výchozím nastavení metoda řazení seřadí pole ve vzestupném pořadí.
Podívejme se na několik konkrétních příkladů třídění polí.
Seřadit číselné pole vzestupně
První ukázkou je třídění číselného pole ve vzestupném pořadí pomocí metod řazení. Jak již bylo zmíněno, ve výchozím nastavení metoda řazení seřadí pole ve vzestupném pořadí. Chcete-li tedy seřadit číselné pole ve vzestupném pořadí, stačí zavolat metodu na daném poli.
Níže je uveden příklad, který to ukazuje.
jak odstranit prvek z pole v javě
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ýstup:

Ve výše uvedeném programu pouze jedno volání funkce seřadí pole ve vzestupném pořadí.
Seřadit číselné pole v sestupném pořadí
Dalším úkolem je seřadit číselné pole v sestupném pořadí. Za tímto účelem je metoda řazení opatřena druhým argumentem „Collections.reverseOrder ()“, který třídí pole v sestupném pořadí.
Níže je uveden program třídění pole v sestupném pořadí.
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ýstup:

Řazení řetězců v abecedním pořadí
Stejně jako numerická pole můžete také řadit pole řetězců pomocí funkce řazení. Když předáte pole řetězců, je pole seřazeno vzestupně v abecedním pořadí. Chcete-li řadit pole v sestupném abecedním pořadí, měli byste jako druhý argument uvést metodu rozhraní Collections reverzníOrder ().
Následující program ukazuje řazení řetězcového pole ve vzestupném i sestupném pořadí.
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ýstup:

Výstup programu ukazuje seřazené pole řetězců ve vzestupném i sestupném pořadí.
Často kladené otázky
Otázka č. 1) Co je třídění v Javě?
Odpovědět: Řazení označuje uspořádání dat v abecedním nebo číselném pořadí.
Otázka č. 2) Jaká technika třídění se používá při třídění polí v Javě?
Odpovědět: Pole používají dual-pivot Quicksort pro primitivní datové typy a Mergesort pro třídění objektů.
Otázka č. 3) Co je to komparátor v Javě?
Odpovědět: Rozhraní komparátoru je součástí balíčku java.util a slouží k uspořádání uživatelsky definovaných objektů. Rozhraní komparátoru se většinou používá při třídění objektů metodou třídění.
Otázka č. 4) Jaké je použití třídění v Javě?
Odpovědět: Řazení je technika uspořádání dat v konkrétní objednávce. Třídění dat je užitečné, protože můžeme data vyhledávat efektivněji a rychleji. Můžeme také snadno provést další operace, jako je přístup, ukládání atd. Na objednaných datech.
Otázka č. 5) Je možné třídit seznamy v Javě?
Odpovědět: Ano. Seznamy jsou součástí rozhraní Collection v Javě a pro seřazení seznamu můžeme použít metodu sort () rozhraní Collection.
Závěr
Tím je naše diskuse o třídění polí v Javě dokončena. Diskutovali jsme o různých metodách třídění polí v Javě, včetně těch, které poskytují balíčky Java, a také o tradiční metodě použití smyček „pro“ pro třídění prvků pole po jednom.
Viděli jsme, jak řadit pole ve vzestupném a sestupném pořadí. Poté jsme se naučili, jak řadit pole řetězců v abecedním pořadí.
Budeme pokračovat v prozkoumávání dalších témat o polích v Javě v našich dalších cvičeních.
=> Podívejte se na Kompletní výukové programy Java pro všechny zde
Doporučené čtení
- Výukový program Java Array Length s příklady kódu
- Obrátit pole v Javě - 3 metody s příklady
- Výukový program JAVA pro začátečníky: 100+ praktických výukových programů Java Video
- Výukový program Java Reflection s příklady
- Generické pole Java - Jak simulovat obecná pole v Javě?
- Java „toto“ klíčové slovo: Výukový program s příklady kódu
- Jak předat / vrátit pole v Javě
- Java Array - Jak tisknout prvky pole v Javě?