how sort an array java tutorial with examples
Ovaj će vodič objasniti razne metode sortiranja niza u Javi uzlaznim, silaznim i abecednim redom uz pomoć jednostavnih primjera:
Sortiranje raspoređuje podatke u određenom redoslijedu. Računalni podaci sastoje se od zapisa koji se sastoje od jednog ili više polja. Za učinkovitu upotrebu podataka i obavljanje raznih operacija poput pretraživanja, pristupa itd., Preporučljivo je da se ti podaci poredaju u određenom redoslijedu.
Na primjer, ako postoje brojni zapisi podataka o studentima, mogli bismo ih organizirati ovisno o studentskom ID-u ili imenu studenta. To se naziva sortiranje. Stoga je razvrstavanje neophodno za učinkovitiju i lakšu upotrebu podataka.
=> Ovdje posjetite seriju Java Training Tutorial Series
U Javi nizovi sadrže podatke i trebali bismo ih sortirati kako bismo ih posložili prema nekim navedenim kriterijima. U ovom uputstvu detaljno ćemo razmotriti sortiranje nizova zajedno s jednostavnim primjerima.
Što ćete naučiti:
Kako sortirati niz u Javi
Java nudi sljedeće metode za sortiranje nizova.
- Korištenje za petlje: Možete koristiti petlje za prelazak niza i usporedbu susjednih elemenata dok ih obilazite i dovodite u red.
- Korištenje metode sortiranja: Klasa Arrays paketa 'java.util' pruža metodu sortiranja koja uzima niz kao argument i sortira niz. Ovo je izravna metoda sortiranja i možete sortirati niz sa samo jednim pozivom metode.
Istražimo detaljno obje ove metode.
Korištenje petlji
Niz možete sortirati pomoću ručnog sortiranja kao što je korištenje za petlje. Ono što možete učiniti je da koristite dvije for petlje, jednu za prelazak niza od početne, a drugu for petlju unutar vanjske za prelazak sljedećeg elementa.
U tijelu uspoređujete susjedne elemente i zamijenite ih ako nisu u redu. Možete koristiti privremenu varijablu za zamjenu elemenata.
Program u nastavku prikazuje ovaj pristup.
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 Izlaz:
Sortiranje pomoću petlje for može biti učinkovito kada su u pitanju manji nizovi. Može se zakomplicirati kad se veličina polja poveća.
Metoda sortiranja
Metoda sortiranja koju pruža klasa ‘java.util.Arrays’ vrlo je jednostavan i brži način sortiranja niza. Ova metoda može sortirati elemente primitivnih tipova kao i objekte koji implementiraju usporedivo sučelje.
Kada se sortiraju primitivni elementi tipa, metoda sortiranja koristi se brzim sortiranjem. Kada se objekti sortiraju, koristi se iterativno spajanje.
Opći prototip metode sortiranja je sljedeći:
Arrays.sort (T() t_arr);
Ovdje je T () vrsta podataka, a t_arr je niz koji će se sortirati.
Gornji prototip radi za nizove koji implementiraju usporedivo sučelje.
Za nizove prilagođenih objekata možete koristiti drugu varijantu Arrays.sort kako je dano u nastavku .
Arrays.sort(T() t_arr, Comparator.c);
Dakle, za nizove koji ne implementiraju usporedivo sučelje, komparator treba proslijediti u funkciji sortiranja. Imajte na umu da metoda sortiranja prema zadanim postavkama sortira niz uzlaznim redoslijedom.
Pogledajmo neke konkretne primjere sortiranja polja.
Poredaj numerički niz u rastućem redoslijedu
Prva demonstracija je sortiranje niza brojeva u rastućem redoslijedu metodama sortiranja. Kao što je već spomenuto, zadana metoda sortiranja sortira niz u rastućem redoslijedu. Dakle, da biste sortirali numerički niz u rastućem redoslijedu, jednostavno morate pozvati metodu na dotičnom nizu.
Slijedeći primjer je primjer koji to pokazuje.
uzorci testnih slučajeva u softverskom testiranju
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)); } }
Izlaz:
U gornjem programu, samo jedan poziv funkcije sortira niz u rastućem redoslijedu.
Poredaj numerički niz u silaznom redoslijedu
Sljedeći je zadatak razvrstavanje numeričkog niza u silaznom redoslijedu. Da bi se to učinilo, metoda sortiranja sadrži drugi argument ‘Collections.reverseOrder ()’ koji sortira niz u opadajućem redoslijedu.
Program sortiranja niza u opadajućem redoslijedu dan je u nastavku.
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)); } }
Izlaz:
Poredaj niz niza po abecednom redu
Baš kao i numerički nizovi, i niz nizova možete sortirati pomoću funkcije sortiranja. Kada proslijedite niz nizova, niz se sortira uzlaznim abecednim redom. Da biste sortirali niz silaznim redoslijedom po abecednom redu, kao drugi argument trebali biste navesti metodu sučelja Zbirke reverseOrder ().
Sljedeći program prikazuje sortiranje niza nizova u rastućem i silaznom redoslijedu.
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)); } }
Izlaz:
Izlaz programa prikazuje razvrstani niz nizova u rastućem i silaznom redoslijedu.
Često postavljana pitanja
P # 1) Što je sortiranje u Javi?
Odgovor: Razvrstavanje se odnosi na slaganje podataka redoslijedom abecedno ili numerički.
P # 2) Koja se tehnika sortiranja koristi u sortiranju nizova na Javi?
Odgovor: Nizovi koriste dvostruko zaokretni Quicksort za primitivne tipove podataka i Mergesort za sortiranje objekata.
P # 3) Što je usporednik u Javi?
Odgovor: Sučelje za usporedbu dio je paketa java.util i koristi se za uređivanje korisnički definiranih objekata. Sučelje za usporedbu najčešće se koristi tijekom sortiranja objekata metodom sortiranja.
P # 4) Čemu služi sortiranje u Javi?
Odgovor: Sortiranje je tehnika slaganja podataka po određenom redoslijedu. Sortiranje podataka korisno je jer podatke možemo tražiti učinkovitije i brže. Također možemo lako izvršiti druge operacije poput pristupa, pohrane itd. Na naručenim podacima.
P # 5) Je li moguće razvrstati popise na Javi?
Odgovor: Da. Popisi su dio sučelja Collections u Javi i za sortiranje popisa možemo koristiti metodu sort () sučelja Collections.
Zaključak
Ovim je završena naša rasprava o sortiranju nizova u Javi. Razgovarali smo o raznim metodama za sortiranje nizova na Javi, uključujući one koje pružaju Java paketi, kao i o tradicionalnoj metodi korištenja petlji 'for' za sortiranje elemenata niza jedan po jedan.
Vidjeli smo kako sortirati niz u rastućem i silaznom redoslijedu. Tada smo naučili kako poredati niz nizova po abecednom redu.
Nastavit ćemo istraživati više tema o nizovima na Javi u sljedećim vodičima.
=> Ovdje pogledajte Kompletne Java lekcije za sve
Preporučena literatura
- Vodič o dužini Java polja s primjerima koda
- Obrnuti niz u Javi - 3 metode s primjerima
- JAVA Tutorial za početnike: 100+ praktičnih Java Video tutorijala
- Java Vodič za refleksiju s primjerima
- Java generički niz - kako simulirati generičke nizove u Javi?
- Java 'this' ključna riječ: Vodič s primjerima koda
- Kako proslijediti / vratiti niz u Javi
- Java Array - Kako ispisati elemente niza u Javi?