Java, Kolekcija yra sistema, teikianti sąsajas ( Rinkinys, sąrašas, eilė, ir tt) ir klases ( ArrayList, LinkedList, ir tt) objektų grupei saugoti. Šios klasės saugo duomenis netvarkingai. Kartais mums reikia sutvarkyti duomenis tvarkingu būdu, kuris yra žinomas kaip rūšiavimas . Rūšiuoti galima dviem būdais kylantis arba nusileidžiantis įsakymas.
Šiame skyriuje mes išmoksime kaip rūšiuoti ArrayList didėjančia tvarka ir Mažėjančia tvarka.
ArrayList
Į Java , ArrayList yra rinkinių sistemos klasė, kuri apibrėžtajava.utilpaketą. Jis paveldi klasę AbstractList. Jis dinamiškai išsaugo elementus. ArrayList pranašumas yra tas, kad jis neturi dydžio apribojimo. Jis yra lankstesnis nei tradicinis masyvas. Jame gali būti pasikartojančių elementų. Taip pat galime naudoti visus sąrašo sąsajos metodus, nes ji įgyvendina Sąrašas sąsaja.
Mes galime rūšiuoti ArrayList dviem būdais didėjančia ir mažėjančia tvarka. Kolekcijos klasė pateikia du metodus, kaip rūšiuoti ArrayList Java.
Kolekcijos.sort() Metodas
ArrayList galima rūšiuoti naudojant Rūšiuoti () metodas Kolekcijos klasė Java . Jis priima ArrayList objektą kaip rūšiuojamą parametrą ir grąžina ArrayList, surūšiuotą didėjančia tvarka pagal natūralią elementų tvarką.
css kraštinė
Sintaksė
public static <t extends comparable> void sort(List list) </t>
Prisiminti: Visi ArrayList elementai turi būti tarpusavyje palyginami, kitaip jis meta ClassCastException. Čia abipusiai palyginamieji reiškia, kad sąraše turi būti to paties tipo elementai. Pavyzdžiui, apsvarstykite kodo fragmentą:
//creating an instance of ArrayList that contains String type elements ArrayList list = new ArrayList(); list.add('Computer'); list.add(123); list.add('Hard Disk'); list.add('DRAM');
Aukščiau pateiktame pavyzdyje matome, kad sąraše yra keturi elementai, iš kurių trys yra eilutės tipo, o vienas yra sveikasis skaičius. Trys eilutėje esantys elementai yra tarpusavyje palyginami, tačiau sveikojo skaičiaus tipo elementas nepalyginamas su kitais trimis. Taigi sąraše turi būti to paties tipo elementai.
Collections.reverseOrder() metodas
Jei norime rūšiuoti ArrayList nusileidžiantis įsakymas, Java kolekcijos klasė suteikia Atvirkštinė tvarka() metodas. Tai leidžia mums rūšiuoti ArrayList atvirkštinė leksikografinė įsakymas.
Sintaksė
konvertuoti eilutę į char
public static Comparator reverseOrder()
Jis grąžina palyginimo priemonę, kuri nustato atvirkštinę natūralią tvarką objektų rinkiniui, įgyvendinančiam palyginimo sąsają.
Atminkite, kad mes tiesiogiai nenaudojame reverseOrder() metodo. Mes naudojame jį kartu su Collection.sort() metodu, kaip nurodyta toliau.
Collections.sort(objectOfArrayList, Collections.reverseOrder());
Todėl ArrayList rūšiavimas mažėjimo tvarka atliekamas dviem etapais, pirmiausia ArrayList rūšiuoja duomenis didėjančia tvarka, o po to surūšiuoti duomenys apverčiami Atvirkštinė tvarka() metodas.
Sukurkime programas, kurios rūšiuoja ArrayList didėjančia tvarka.
Rūšiuoti ArrayList didėjimo tvarka
Šiame pavyzdyje sukūrėme String tipo ArrayList ir įtraukėme į jį kai kurių elementų. Po to mes iškvietėme kolekcijų klasės metodą sort() ir perdavėme ArrayList klasės objektą, ty sąrašą, kuris rūšiuoja elementus didėjančia tvarka.
RūšiuotiArrayListExample1.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('Volkswagen'); list.add('Toyota'); list.add('Porsche'); list.add('Ferrari'); list.add('Mercedes-Benz'); list.add('Audi'); list.add('Rolls-Royce'); list.add('BMW'); // printing the unsorted ArrayList System.out.println('Before Sorting: '+ list); // Sorting ArrayList in ascending Order Collections.sort(list); // printing the sorted ArrayList System.out.println('After Sorting: '+ list); } }
Išvestis:
Before Sorting: [Volkswagen, Toyota, Porsche, Ferrari, Mercedes-Benz, Audi, Rolls-Royce, BMW] After Sorting: [Audi, BMW, Ferrari, Mercedes-Benz, Porsche, Rolls-Royce, Toyota, Volkswagen]
Pažiūrėkime kitą pavyzdį, kuris rūšiuoja sveikojo skaičiaus tipo ArrayList.
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('ArrayList Before Sorting:'); for(int marks: list) { System.out.println(marks); } //sorting ArrayList in ascending order Collections.sort(list); //printing ArrayList after sorting System.out.println('ArrayList After Sorting:'); for(int marks: list) { System.out.println(marks); } } }
Išvestis:
ArrayList Before Sorting: 55 34 98 67 39 76 81 ArrayList After Sorting: 34 39 55 67 76 81 98
Rūšiuoti ArrayList mažėjančia tvarka
Šiame pavyzdyje sukūrėme String tipo ArrayList ir įtraukėme į jį kai kurių elementų. Po to mes panaudojome reverseOrder() metodą kartu su kolekcijų klasės metodu sort() ir perdavėme ArrayList klasės objektą, ty sąrašą, kuris rūšiuoja elementus mažėjančia tvarka.
SortArrayListExample3.java
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('Data Science'); list.add('Testing'); list.add('C#'); list.add('Basic Language'); list.add('UML'); list.add('Algorithms '); list.add('Computer Networks'); list.add('Python'); // printing the unsorted ArrayList System.out.println('Before Sorting: '+ list); // Sorting ArrayList in ascending Order // using Collection.sort() method Collections.sort(list, Collections.reverseOrder()); // Print the sorted ArrayList System.out.println('After Sorting: '+ list); } }
Išvestis:
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
string jsonobject
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('ArrayList Before Sorting:'); 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('ArrayList After Sorting:'); for(int marks: list) { System.out.println(marks); } } }
Išvestis:
ArrayList Before Sorting: 566 230 123 110 689 12 95 ArrayList After Sorting: 689 566 230 123 110 95 12