Java valodā, Kolekcija ir ietvars, kas nodrošina saskarnes ( Iestatījums, saraksts, rinda, utt.) un nodarbības ( ArrayList, LinkedList, utt.), lai saglabātu objektu grupu. Šīs klases glabā datus nesakārtotā veidā. Dažreiz mums ir jāsakārto dati sakārtotā veidā, ko sauc par šķirošana . Šķirošanu var veikt divos veidos vai nu augšupejoša vai lejupejoša pasūtījums.
Šajā sadaļā mēs uzzināsim kā kārtot ArrayList augošā secībā un Dilstoša secība.
ArrayList
In Java , ArrayList ir kolekciju ietvara klase, kas ir definētajava.utiliepakojums. Tas manto AbstractList klasi. Tas dinamiski saglabā elementus. ArrayList priekšrocība ir tā, ka tai nav lieluma ierobežojumu. Tas ir elastīgāks nekā tradicionālais masīvs. Tam var būt dublēti elementi. Mēs varam izmantot arī visas saraksta saskarnes metodes, jo tas ievieš Saraksts saskarne.
Mēs varam kārtot ArrayList divos veidos augošā un dilstošā secībā. Kolekciju klase nodrošina divas metodes, kā kārtot ArrayList Java.
Collections.sort() Metode
ArrayList var kārtot, izmantojot kārtot () metode Kolekcijas klase Java valodā . Tas pieņem ArrayList objektu kā kārtojamo parametru un atgriež ArrayList, kas sakārtots augošā secībā atbilstoši tā elementu dabiskajai secībai.
direktorija pārdēvēšana Linux
Sintakse
public static <t extends comparable> void sort(List list) </t>
Atcerieties: Visiem elementiem ArrayList ir jābūt savstarpēji salīdzināmiem, pretējā gadījumā tas izmet ClassCastException. Šeit savstarpēji salīdzināmi nozīmē, ka sarakstā ir jābūt tāda paša veida elementiem. Piemēram, apsveriet koda fragmentu:
//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');
Iepriekš minētajā piemērā redzams, ka sarakstā ir četri elementi, no kuriem trīs elementi ir virknes tipa un viens ir vesels skaitlis. Trīs elementi, kas atrodas virknē, ir savstarpēji salīdzināmi, bet vesela skaitļa tipa elements nav salīdzināms ar pārējiem trim. Tādējādi sarakstā ir jābūt tāda paša veida elementiem.
Collections.reverseOrder() metode
Ja mēs vēlamies sakārtot ArrayList lejupejoša pasūtījums, Java kolekcijas klase nodrošina apgrieztā secībā() metodi. Tas ļauj mums sakārtot ArrayList reversā leksikogrāfija pasūtījums.
Sintakse
public static Comparator reverseOrder()
Tas atgriež salīdzinātāju, kas objektu kolekcijai, kas ievieš salīdzināmo saskarni, uzliek pretēju dabisko secību.
Atcerieties, ka mēs tieši neizsaucam reverseOrder() metodi. Mēs to izmantojam kopā ar Collection.sort() metodi, kā norādīts tālāk.
Collections.sort(objectOfArrayList, Collections.reverseOrder());
Tāpēc ArrayList kārtošana dilstošā secībā tiek veikta divos posmos, vispirms ArrayList sakārto datus augošā secībā, pēc tam sakārtotos datus apvērš apgrieztā secībā() metodi.
Izveidosim programmas, kas šķiro ArrayList augošā secībā.
Kārtot ArrayList augošā secībā
Nākamajā piemērā mēs esam izveidojuši ArrayList tipa String un pievienojuši tam dažus elementus. Pēc tam esam izsaukuši klases Collections metodi sort() un nodevuši ArrayList klases objektu, t.i., sarakstu, kas kārto elementus augošā secībā.
SortArrayListExample1.java
shloka mehta
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); } }
Izvade:
Before Sorting: [Volkswagen, Toyota, Porsche, Ferrari, Mercedes-Benz, Audi, Rolls-Royce, BMW] After Sorting: [Audi, BMW, Ferrari, Mercedes-Benz, Porsche, Rolls-Royce, Toyota, Volkswagen]
Apskatīsim vēl vienu piemēru, kas kārto Integer tipa ArrayList.
SortArrayListExample2.java
kas ir map 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); } } }
Izvade:
ArrayList Before Sorting: 55 34 98 67 39 76 81 ArrayList After Sorting: 34 39 55 67 76 81 98
Kārtot ArrayList dilstošā secībā
Nākamajā piemērā mēs esam izveidojuši ArrayList tipa String un pievienojuši tam dažus elementus. Pēc tam esam izsaukuši metodi reverseOrder() kopā ar Collections klases metodi sort() un nodevuši ArrayList klases objektu, t.i., sarakstu, kas kārto elementus dilstošā secībā.
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); } }
Izvade:
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('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); } } }
Izvade:
ArrayList Before Sorting: 566 230 123 110 689 12 95 ArrayList After Sorting: 689 566 230 123 110 95 12