logo

Java'da ArrayList Nasıl Sıralanır

Java'da, Toplamak arayüzler sağlayan bir çerçevedir ( Ayarla, Listele, Sırala, vb.) ve sınıflar ( Dizi Listesi, Bağlantılı Liste, vb.) nesne grubunu depolamak için. Bu sınıflar verileri sırasız bir şekilde saklar. Bazen verileri düzenli bir şekilde düzenlememiz gerekir. sıralama . Sıralama iki şekilde yapılabilir. artan veya Azalan emir.

Bu bölümde öğreneceğiz ArrayList'in artan şekilde nasıl sıralanacağı Ve azalan sipariş.

Dizi Listesi

İçinde Java , Dizi Listesi içinde tanımlanan bir Koleksiyonlar çerçevesi sınıfıdır.java.utilpaket. AbstractList sınıfını miras alır. Öğeleri dinamik olarak saklar. ArrayList'in avantajı boyut sınırının olmamasıdır. Geleneksel diziden daha esnektir. Yinelenen öğelere sahip olabilir. Liste arayüzünün tüm yöntemlerini de kullanabiliriz çünkü o, Liste arayüz.

ArrayList'i artan ve azalan düzende iki şekilde sıralayabiliriz. Collections sınıfı, Java'da ArrayList'i sıralamak için iki yöntem sağlar.

    düzenlemek() Ters sipariş()

Collections.sort() Yöntem

Bir ArrayList kullanılarak sıralanabilir düzenlemek() yöntemi Java'da koleksiyon sınıfı . Sıralanacak parametre olarak ArrayList nesnesini kabul eder ve öğelerinin doğal sıralamasına göre artan düzende sıralanmış bir ArrayList döndürür.

Java'da sınıf ve nesne

Sözdizimi

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

Hatırlamak: ArrayList'teki tüm öğeler karşılıklı olarak karşılaştırılabilir olmalıdır, aksi takdirde ClassCastException. Burada karşılıklı olarak karşılaştırılabilirlik, listenin aynı türde öğelere sahip olması gerektiği anlamına gelir. Örneğin, kod pasajını düşünün:

 //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;); 

Yukarıdaki örnekte, bir listenin üçü String tipinde ve biri Tamsayı tipinde olmak üzere dört elemanı olduğunu görüyoruz. String'deki üç öğe karşılıklı olarak karşılaştırılabilir ancak Integer türündeki öğe diğer üçüyle karşılaştırılamaz. Bu nedenle listenin aynı türde öğelere sahip olması gerekir.

Collections.reverseOrder() Yöntem

ArrayList'i sıralamak istiyorsak Azalan emir, Java Koleksiyonları sınıf sağlar Ters sipariş() yöntem. ArrayList'i sıralamamızı sağlar ters sözlükbilimsel emir.

Sözdizimi

 public static Comparator reverseOrder() 

Karşılaştırılabilir arayüzü uygulayan bir nesne koleksiyonuna doğal sıralamanın tersini uygulayan bir karşılaştırıcı döndürür.

TersOrder() yöntemini doğrudan çağırmadığımızı unutmayın. Onunla birlikte kullanıyoruz Koleksiyon.sort() yöntemi aşağıdaki gibidir.

java'da dizenin tam sayıya dönüştürülmesi
 Collections.sort(objectOfArrayList, Collections.reverseOrder()); 

Bu nedenle, ArrayList'in azalan düzende sıralaması iki adımda gerçekleştirilir, önce ArrayList verileri artan düzende sıralar, ardından sıralanan veriler, sıralanan veriler tarafından tersine çevrilir. Ters sipariş() yöntem.

ArrayList'i artan düzende sıralayan programlar oluşturalım.

ArrayList'i Artan Düzende Sıralayın

Aşağıdaki örnekte String türünde bir ArrayList oluşturduk ve içine bazı öğeler ekledik. Bundan sonra Collections sınıfının sort() yöntemini çağırdık ve ArrayList sınıfının nesnesini, yani öğeleri artan düzende sıralayan listeyi ilettik.

SıralamaArrayListÖrnek1.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); } } 

Çıktı:

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

Tamsayı tipindeki ArrayList'i sıralayan başka bir örnek görelim.

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); } } } 

Çıktı:

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

ArrayList'i Azalan Düzende Sıralayın

Aşağıdaki örnekte String türünde bir ArrayList oluşturduk ve içine bazı öğeler ekledik. Bundan sonra Collections sınıfının sort() yöntemiyle birlikte tersOrder() yöntemini çağırdık ve ArrayList sınıfının nesnesini, yani öğeleri azalan düzende sıralayan listeyi aktardık.

Java numaralandırmaları

SıralamaArrayListÖrnek3.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(&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); } } 

Çıktı:

 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] 

SıralamaArrayListÖrnek4.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); } } } 

Çıktı:

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