logo

Kako razvrstiti ArrayList v Javi

V Javi, Zbirka je ogrodje, ki nudi vmesnike ( Nabor, seznam, čakalna vrsta, itd.) in razredi ( ArrayList, LinkedList, itd.) za shranjevanje skupine predmetov. Ti razredi shranjujejo podatke na neurejen način. Včasih moramo podatke urediti na urejen način, ki je znan kot razvrščanje . Razvrščanje je mogoče izvesti na dva načina bodisi v naraščajoče oz padajoče naročilo.

V tem razdelku se bomo naučili kako razvrstiti ArrayList v naraščajočem in padajočem vrstnem redu.

ArrayList

notri Java , ArrayList je razred ogrodja zbirk, ki je definiran vjava.utilpaket. Podeduje razred AbstractList. Dinamično shranjuje elemente. Prednost ArrayList je, da nima omejitve velikosti. Je bolj prilagodljiv kot tradicionalni niz. Lahko ima podvojene elemente. Uporabimo lahko tudi vse metode vmesnika List, ker implementira Seznam vmesnik.

ArrayList lahko razvrstimo na dva načina v naraščajočem in padajočem vrstnem redu. Razred Collections ponuja dve metodi za razvrščanje seznama ArrayList v Javi.

    razvrsti() obratni vrstni red()

Metoda Collections.sort().

ArrayList je mogoče razvrstiti z uporabo razvrsti() metoda Razred zbirk v Javi . Sprejme objekt ArrayList kot parameter za razvrščanje in vrne ArrayList, razvrščen v naraščajočem vrstnem redu glede na naravni vrstni red njegovih elementov.

spremenljivka bash

Sintaksa

 public static <t extends comparable> void sort(List list) </t>

Ne pozabite: Vsi elementi v ArrayList morajo biti medsebojno primerljivi, sicer vrže ClassCastException. Tu medsebojno primerljiv pomeni, da mora seznam vsebovati isto vrsto elementov. Na primer, upoštevajte delček kode:

 //creating an instance of ArrayList that contains String type elements ArrayList list = new ArrayList(); list.add(&apos;Computer&apos;); list.add(123); list.add(&apos;Hard Disk&apos;); list.add(&apos;DRAM&apos;); 

V zgornjem primeru vidimo, da ima seznam štiri elemente, od katerih so trije elementi tipa String, eden pa je tipa Integer. Trije elementi, ki so v nizu, so medsebojno primerljivi, vendar element, ki je tipa Integer, ni primerljiv z ostalimi tremi. Zato mora seznam vsebovati isto vrsto elementov.

Metoda Collections.reverseOrder().

Če želimo razvrstiti ArrayList v padajoče naročilo, Zbirke Java razred zagotavlja obratni vrstni red() metoda. Omogoča nam, da razvrstimo ArrayList v povratno-leksikograf naročilo.

Sintaksa

 public static Comparator reverseOrder() 

Vrne primerjalnik, ki zbirki predmetov, ki implementirajo vmesnik Comparable, vsili obraten naravni vrstni red.

Ne pozabite, da metode reverseOrder() ne prikličemo neposredno. Uporabljamo ga skupaj z Collection.sort() metodo, kot sledi.

 Collections.sort(objectOfArrayList, Collections.reverseOrder()); 

Zato je razvrščanje ArrayList v padajočem vrstnem redu izvedeno v dveh korakih, najprej ArrayList razvrsti podatke v naraščajočem vrstnem redu, nato pa se razvrščeni podatki obrnejo z obratni vrstni red() metoda.

Ustvarimo programe, ki razvrščajo ArrayList v naraščajočem vrstnem redu.

v nizu v Javi

Razvrsti ArrayList v naraščajočem vrstnem redu

V naslednjem primeru smo ustvarili ArrayList tipa String in vanj dodali nekaj elementov. Po tem smo priklicali metodo sort() razreda Collections in posredovali objekt razreda ArrayList, tj. seznam, ki razvršča elemente v naraščajočem vrstnem redu.

SortArrayListExample1.java

 import java.util.*; public class SortArrayListExample1 { public static void main(String args[]) { // creating object of ArrayList class ArrayList list = new ArrayList(); // adding elements to the ArrayList list.add(&apos;Volkswagen&apos;); list.add(&apos;Toyota&apos;); list.add(&apos;Porsche&apos;); list.add(&apos;Ferrari&apos;); list.add(&apos;Mercedes-Benz&apos;); list.add(&apos;Audi&apos;); list.add(&apos;Rolls-Royce&apos;); list.add(&apos;BMW&apos;); // printing the unsorted ArrayList System.out.println(&apos;Before Sorting: &apos;+ list); // Sorting ArrayList in ascending Order Collections.sort(list); // printing the sorted ArrayList System.out.println(&apos;After Sorting: &apos;+ list); } } 

Izhod:

 Before Sorting: [Volkswagen, Toyota, Porsche, Ferrari, Mercedes-Benz, Audi, Rolls-Royce, BMW] After Sorting: [Audi, BMW, Ferrari, Mercedes-Benz, Porsche, Rolls-Royce, Toyota, Volkswagen] 

Oglejmo si še en primer, ki razvršča ArrayList tipa Integer.

SortArrayListExample2.java

 import java.util.*; public class SortArrayListExample2 { public static void main(String args[]) { //creating an object of ArrayList class ArrayList list = new ArrayList(); list.add(55); list.add(34); list.add(98); list.add(67); list.add(39); list.add(76); list.add(81); //printing ArrayList before sorting System.out.println(&apos;ArrayList Before Sorting:&apos;); for(int marks: list) { System.out.println(marks); } //sorting ArrayList in ascending order Collections.sort(list); //printing ArrayList after sorting System.out.println(&apos;ArrayList After Sorting:&apos;); for(int marks: list) { System.out.println(marks); } } } 

Izhod:

 ArrayList Before Sorting: 55 34 98 67 39 76 81 ArrayList After Sorting: 34 39 55 67 76 81 98 

Razvrsti ArrayList v padajočem vrstnem redu

V naslednjem primeru smo ustvarili ArrayList tipa String in vanj dodali nekaj elementov. Po tem smo priklicali metodo reverseOrder() skupaj z metodo sort() razreda Collections in posredovali objekt razreda ArrayList, tj. seznam, ki razvršča elemente v padajočem vrstnem redu.

SortArrayListExample3.java

ekta kapoor igralec
 import java.util.*; public class SortArrayListExample3 { public static void main(String args[]) { // creating object of ArrayList class ArrayList list = new ArrayList(); // adding elements to the ArrayList list.add(&apos;Data Science&apos;); list.add(&apos;Testing&apos;); list.add(&apos;C#&apos;); list.add(&apos;Basic Language&apos;); list.add(&apos;UML&apos;); list.add(&apos;Algorithms &apos;); list.add(&apos;Computer Networks&apos;); list.add(&apos;Python&apos;); // printing the unsorted ArrayList System.out.println(&apos;Before Sorting: &apos;+ list); // Sorting ArrayList in ascending Order // using Collection.sort() method Collections.sort(list, Collections.reverseOrder()); // Print the sorted ArrayList System.out.println(&apos;After Sorting: &apos;+ list); } } 

Izhod:

 Before Sorting: [Data Science, Testing, C#, Basic Language, UML, Algorithms, Computer Networks, Python] After Sorting: [UML, Testing, Python, Data Science, Computer Networks, C#, Basic Language, Algorithms] 

SortArrayListExample4.java

 import java.util.*; public class SortArrayListExample4 { public static void main(String args[]) { //creating an object of ArrayList class ArrayList list = new ArrayList(); list.add(566); list.add(230); list.add(123); list.add(110); list.add(689); list.add(12); list.add(95); //printing ArrayList before sorting System.out.println(&apos;ArrayList Before Sorting:&apos;); for(int marks: list) { System.out.println(marks); } //sorting ArrayList in descending order Collections.sort(list, Collections.reverseOrder()); //printing ArrayList after sorting System.out.println(&apos;ArrayList After Sorting:&apos;); for(int marks: list) { System.out.println(marks); } } } 

Izhod:

 ArrayList Before Sorting: 566 230 123 110 689 12 95 ArrayList After Sorting: 689 566 230 123 110 95 12