logo

Java'da bir liste nasıl sıralanır

Listeyi sıralamak için aşağıdaki yöntemleri kullanabiliriz:

java dinamik dizi
  • Stream.sorted() yöntemini kullanma
  • Comparator.reverseOrder() yöntemini kullanma
  • Comparator.naturalOrder() yöntemini kullanma
  • Collections.reverseOrder() yöntemini kullanma
  • Collections.sort() yöntemini kullanma

Java Akışı arayüzü

Java Stream arayüzü listeyi sıralamak için iki yöntem sunar:

sıralanmış() yöntemi

Akış arayüzü, bir listeyi sıralamak için bir sorted() yöntemi sağlar. Mevcut olan Stream arayüzünde tanımlanır. java.util paketi . Doğal sırasına göre sıralanmış bir akış döndürür. Öğeler karşılaştırılabilir değilse Java.lang.ClassCastException oluşturur. Yöntemin imzası:

 Stream sorted() 

Parametre

T: Bir tür akış elemanıdır.

Java Stream.sorted(Karşılaştırıcı karşılaştırıcı)

Ayrıca sağlanan karşılaştırıcıya göre sıralanmış bir akış döndürür. Sıralı bir akış için kararlıdır. Yöntemin imzası:

 Stream sorted(Comparator comparator) 

Parametreler

  • T, akış öğesinin türüdür.
  • elemanları karşılaştırmak için kullanılacak karşılaştırıcı

Örnek

Aşağıdaki örnekte aşağıdaki yöntemleri kullandık:

sıralanmış demet python
  • Java 8'de, Stream() nesne koleksiyonlarını işlemek için kullanılan bir API'dir.
  • Collect() yöntemi, bir akıştan öğeleri almak ve bunları bir koleksiyonda saklamak için kullanılır.
  • toList() işlevi, tüm giriş öğelerini karşılaşma sırasına göre bir listede toplayan toplayıcıyı döndürür.

Örnek

 import java.util.*; import java.util.stream.*; public class SortListExample1 { public static void main(String[] args) { //returns a list view List slist = Arrays.asList('Tanu', 'Kamal', 'Suman', 'Lucky', 'Bunty', 'Amit'); List sortedList = slist.stream().sorted().collect(Collectors.toList()); sortedList.forEach(System.out::println); } } 

Çıktı:

Java'da bir liste nasıl sıralanır

Java Comparator.reverseOrder() yöntemi

tersOrder(), Java.util paketinde tanımlanan Karşılaştırıcı arayüzünün bir yöntemidir. Yöntem, doğal sıralamanın tersini uygulayan bir karşılaştırıcı döndürür. Null'u karşılaştırırken NullPointerException'ı atar. Yöntem imzası:

 static <t extends comparable> Comparator reverseOrder() </t>

Karşılaştırılabilir aynı zamanda bir Java.lang paketine ait bir arayüzdür.

Parametreler

T: karşılaştırılacak karşılaştırılabilir öğe türü.

Linux komutlarında dizin

Örnek

 import java.util.*; import java.util.stream.Collectors; public class SortListExample2 { public static void main(String[] args) { //returns a list view List slist = Arrays.asList(&apos;78&apos;, &apos;a&apos;, &apos;m&apos;, &apos;b&apos;, &apos;z&apos;, &apos;c&apos;, &apos;12&apos;, &apos;l&apos;, &apos;1&apos;); ListsortedList=slist.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()); sortedList.forEach(System.out::println); } } 

Çıktı:

Java'da bir liste nasıl sıralanır

Java Comparator.naturalOrder()

Yöntem, Karşılaştırılabilir nesneleri doğal sırayla karşılaştıran bir karşılaştırıcı döndürür. Döndürülen karşılaştırılabilir serileştirilebilir. Null'u karşılaştırdığımızda NullPointerException'ı atar. Java 8'den alınmıştır. Yöntemin imzası:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • Yöntem, elemanları doğal sıraya göre (artan düzende) sıralar.
  • Varsa en üste null koyar.
  • Listede hem küçük hem de büyük harfler varsa, büyük harfli öğeleri doğal sıraya, ardından küçük harfleri doğal sıraya yerleştirir.

Parametreler

T: Karşılaştırılacak karşılaştırılabilir öğe türü.

Örnek

 import java.util.*; public class SortListExample3 { public static void main(String[] args) { List country = Arrays.asList(&apos;Russia&apos;, &apos;India&apos;, &apos;China&apos;, &apos;Japan&apos;, &apos;&apos;, &apos;Ghana&apos;); List country1 = Arrays.asList(&apos;Russia&apos;,&apos;india&apos;, &apos;China&apos;, &apos;Japan&apos;, &apos;&apos;, &apos;ghana&apos;); System.out.println(country); //prints the same list as we define country.sort(String.CASE_INSENSITIVE_ORDER); //sorts the list in case insensitive order System.out.println(country1); country.sort(Comparator.naturalOrder()); //sorts list in ascending order System.out.println(country); //sorts list in ascending order (null, capital letter and small letter) country1.sort(Comparator.naturalOrder()); System.out.println(country1); } } 

Çıktı:

Java'da bir liste nasıl sıralanır

Java Collections.reverseOrder() yöntemi

Java.lang paketine ait olan Java Collections sınıfının yöntemidir. Doğal sıralamanın tersini uygulayan bir karşılaştırıcı döndürür. Yöntemin imzası:

 public static Comparator reverseOrder() 

Parametreler

Karşılaştırıcı tarafından karşılaştırılan nesnelerin sınıfı.

Örnek

 import java.util.Arrays; import java.util.Collections; import java.util.List; public class SortListExample4 { public static void main(String args[]) { List list = Arrays.asList(10,1,-20,40,5,-23,0); Collections.sort(list, Collections.reverseOrder()); System.out.println(list); } } 

Çıktı:

Java'da bir liste nasıl sıralanır

Java Collections.sort() yöntemi

Collections sınıfının bir listeyi sıralamak için iki yöntemi vardır:

window.open javascript

sort() yöntemi

sort() yöntemi, listeyi öğelerinin doğal sıralamasına göre artan sırada sıralar. Yöntemin imzası:

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

Parametreler

T: Bir tür parametresidir.

list: Sıralanacak liste.

java matematik

Collections.sorts() yönteminin başka bir örneğini görelim.

Örnek

 import java.util.*; public class SortListExample5 { public static void main(String[] args) { List sList = new ArrayList(); sList.add(&apos;m&apos;); sList.add(&apos;k&apos;); sList.add(&apos;a&apos;); sList.add(&apos;p&apos;); sList.add(&apos;d&apos;); Collections.sort(sList); //sorts array list for(String str: sList) System.out.print(&apos; &apos;+str); } } 

Çıktı:

Java'da bir liste nasıl sıralanır