v Javě, Sbírka je framework, který poskytuje rozhraní ( Nastavit, Seznam, Fronta, atd.) a třídy ( ArrayList, LinkedList, atd.) k uložení skupiny objektů. Tyto třídy ukládají data neuspořádaným způsobem. Někdy potřebujeme data uspořádat uspořádaným způsobem, který je známý jako třídění . Třídění lze provádět dvěma způsoby buď v vzestupně nebo klesající objednat.
V této části se naučíme jak seřadit ArrayList vzestupně a sestupné pořadí.
ArrayList
v Jáva , ArrayList je třída rámce Collections, která je definována vjava.utilbalík. Zdědí třídu AbstractList. Dynamicky ukládá prvky. Výhodou ArrayList je, že nemá žádné omezení velikosti. Je flexibilnější než tradiční pole. Může mít duplicitní prvky. Můžeme také použít všechny metody rozhraní List, protože implementuje Seznam rozhraní.
ArrayList můžeme třídit dvěma způsoby vzestupně a sestupně. Třída Collections poskytuje dvě metody pro řazení ArrayList v Javě.
Metoda Collections.sort().
ArrayList lze třídit pomocí seřadit () metoda Třída kolekce v Javě . Přijme objekt ArrayList jako parametr k řazení a vrátí ArrayList seřazený ve vzestupném pořadí podle přirozeného uspořádání jeho prvků.
Herečka Sai Pallavi
Syntax
public static <t extends comparable> void sort(List list) </t>
Pamatovat si: Všechny prvky v ArrayList musí být vzájemně srovnatelné, jinak to hází ClassCastException. Vzájemně srovnatelné zde znamená, že seznam musí mít stejný typ prvků. Zvažte například fragment kódu:
//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');
Ve výše uvedeném příkladu vidíme, že seznam má čtyři prvky, z nichž tři prvky jsou typu String a jeden je typu Integer. Tři prvky, které jsou v String, jsou vzájemně srovnatelné, ale prvek, který je typu Integer, není srovnatelný s ostatními třemi. Seznam tedy musí obsahovat stejný typ prvků.
Metoda Collections.reverseOrder().
Pokud chceme třídit ArrayList v klesající objednat, Kolekce Java třída poskytuje obrácené pořadí() metoda. Umožňuje nám třídit ArrayList reverzně-lexikografický objednat.
Syntax
public static Comparator reverseOrder()
Vrací komparátor, který ukládá opak přirozeného uspořádání na kolekci objektů, které implementují rozhraní Comparable.
Pamatujte, že metodu reverseOrder() přímo nevyvoláme. Používáme spolu s Collection.sort() způsobem, následovně.
Collections.sort(objectOfArrayList, Collections.reverseOrder());
Proto řazení ArrayList v sestupném pořadí se provádí ve dvou krocích, nejprve ArrayList seřadí data ve vzestupném pořadí, poté jsou setříděná data obrácena obrácené pořadí() metoda.
Pojďme vytvořit programy, které třídí ArrayList vzestupně.
Seřadit ArrayList ve vzestupném pořadí
V následujícím příkladu jsme vytvořili ArrayList typu String a přidali do něj některé prvky. Poté jsme vyvolali metodu sort() třídy Collections a předali objekt třídy ArrayList, tj. seznam, který třídí prvky ve vzestupném pořadí.
SortArrayListExample1.java
java localdate
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); } }
Výstup:
Before Sorting: [Volkswagen, Toyota, Porsche, Ferrari, Mercedes-Benz, Audi, Rolls-Royce, BMW] After Sorting: [Audi, BMW, Ferrari, Mercedes-Benz, Porsche, Rolls-Royce, Toyota, Volkswagen]
Podívejme se na další příklad, který třídí ArrayList typu Integer.
SortArrayListExample2.java
kajal aggarwal
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); } } }
Výstup:
ArrayList Before Sorting: 55 34 98 67 39 76 81 ArrayList After Sorting: 34 39 55 67 76 81 98
Seřadit ArrayList v sestupném pořadí
V následujícím příkladu jsme vytvořili ArrayList typu String a přidali do něj některé prvky. Poté jsme vyvolali metodu reverseOrder() spolu s metodou sort() třídy Collections a předali objekt třídy ArrayList, tj. seznam, který třídí prvky v sestupném pořadí.
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); } }
Výstup:
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); } } }
Výstup:
ArrayList Before Sorting: 566 230 123 110 689 12 95 ArrayList After Sorting: 689 566 230 123 110 95 12