logo

Hoe een lijst in Java te sorteren

We kunnen de volgende methoden gebruiken om de lijst te sorteren:

naam van
  • De methode stream.sorted() gebruiken
  • Met behulp van de Comparator.reverseOrder()-methode
  • Met behulp van de Comparator.naturalOrder()-methode
  • Met behulp van de Collections.reverseOrder()-methode
  • Met behulp van de Collections.sort()-methode

Java Stream-interface

De Java Stream-interface biedt twee methoden voor het sorteren van de lijst:

sort() methode

De Stream-interface biedt een sorteer()-methode om een ​​lijst te sorteren. Het wordt gedefinieerd in de Stream-interface die aanwezig is in java.util-pakket . Het retourneert een stroom gesorteerd volgens de natuurlijke volgorde. Als de elementen niet vergelijkbaar zijn, wordt java.lang.ClassCastException gegenereerd. De handtekening van de methode is:

 Stream sorted() 

Parameter

T: Het is een soort stroomelement.

Java Stream.sorted (vergelijkervergelijker)

Het retourneert ook een stream gesorteerd op basis van de meegeleverde comparator. Het is stabiel voor een geordende stream. De handtekening van de methode is:

 Stream sorted(Comparator comparator) 

Parameters

  • T is het type stroomelement.
  • comparator die moet worden gebruikt om elementen te vergelijken

Voorbeeld

In het volgende voorbeeld hebben we de volgende methoden gebruikt:

chromen adresbalk
  • In Java 8 is stream() een API die wordt gebruikt om verzamelingen objecten te verwerken.
  • De methode collect() wordt gebruikt om elementen uit een stream te ontvangen en deze in een verzameling op te slaan.
  • De toList() retourneert de collector die alle invoerelementen in een lijst verzamelt, in volgorde van ontmoeting.

Voorbeeld

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

Uitgang:

Hoe een lijst in Java te sorteren

Java Comparator.reverseOrder()-methode

De reverseOrder() is een methode van de Comparator-interface die is gedefinieerd in het java.util-pakket. De methode retourneert een comparator die het omgekeerde van de natuurlijke ordening oplegt. Het genereert NullPointerException bij het vergelijken van null. De methodehandtekening is:

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

Vergelijkbaar is ook een interface die bij een java.lang-pakket hoort.

Parameters

T: vergelijkbaar type element dat moet worden vergeleken.

Voorbeeld

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

Uitgang:

Hoe een lijst in Java te sorteren

Java-vergelijker.naturalOrder()

De methode retourneert een comparator die vergelijkbare objecten in de natuurlijke volgorde vergelijkt. De geretourneerde vergelijkbare versie is serialiseerbaar. Wanneer we null vergelijken, wordt NullPointerException gegenereerd. Het komt uit Java 8. De handtekening van de methode is:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • De methode sorteert de elementen in natuurlijke volgorde (oplopende volgorde).
  • Indien aanwezig wordt null bovenaan geplaatst.
  • Het plaatst de hoofdletterelementen eerst in de natuurlijke volgorde en daarna de kleine letters in de natuurlijke volgorde, als de lijst zowel kleine letters als hoofdletters bevat.

Parameters

T: Vergelijkbaar type element dat moet worden vergeleken.

Voorbeeld

parafraseer indien door Rudyard Kipling
 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); } } 

Uitgang:

Hoe een lijst in Java te sorteren

Java Collections.reverseOrder()-methode

Het is de methode van de klasse Java Collections die tot een java.lang-pakket behoort. Het retourneert een comparator die het omgekeerde van de natuurlijke ordening oplegt. De handtekening van de methode is:

 public static Comparator reverseOrder() 

Parameters

De klasse van de objecten die door de comparator worden vergeleken.

abstracte methoden

Voorbeeld

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

Uitgang:

Hoe een lijst in Java te sorteren

Java Collections.sort()-methode

De klasse Collections heeft twee methoden voor het sorteren van een lijst:

sort() methode

De methode sort() sorteert de lijst in oplopende volgorde, volgens de natuurlijke volgorde van de elementen. De handtekening van de methode is:

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

Parameters

T: Het is een typeparameter.

voor elk typoscript

lijst: De lijst die moet worden gesorteerd.

Laten we nog een voorbeeld bekijken van de methode Collections.sorts().

Voorbeeld

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

Uitgang:

Hoe een lijst in Java te sorteren