logo

Sådan sorteres en liste i Java

Vi kan bruge følgende metoder til at sortere listen:

java visualizer
  • Brug af stream.sorted() metoden
  • Bruger Comparator.reverseOrder() metoden
  • Bruger Comparator.naturalOrder() metoden
  • Brug af Collections.reverseOrder() metoden
  • Brug af metoden Collections.sort().

Java Stream-grænseflade

Java Stream-grænsefladen giver to metoder til at sortere listen:

sorted() metode

Stream-grænseflade giver en sorted()-metode til at sortere en liste. Det er defineret i Stream-grænsefladen, som er til stede i java.util-pakken . Det returnerer en strøm sorteret efter den naturlige rækkefølge. Hvis elementerne ikke er sammenlignelige, kaster det java.lang.ClassCastException. Signaturen for metoden er:

 Stream sorted() 

Parameter

T: Det er en type strømelement.

Java Stream.sorted(Comparator komparator)

Den returnerer også en strøm sorteret i henhold til den medfølgende komparator. Den er stabil for en bestilt stream. Signaturen for metoden er:

 Stream sorted(Comparator comparator) 

Parametre

  • T er typen af ​​strømelement.
  • komparator, der skal bruges til at sammenligne elementer

Eksempel

I det følgende eksempel har vi brugt følgende metoder:

intet indgangssignal
  • I Java 8 er stream() en API, der bruges til at behandle samlinger af objekter.
  • collect()-metoden bruges til at modtage elementer fra en strøm og lagre dem i en samling.
  • toList() returnerer samleren, som samler alle input-elementerne i en liste, i møderækkefølge.

Eksempel

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

Produktion:

Sådan sorteres en liste i Java

Java Comparator.reverseOrder() metode

ReverseOrder() er en metode til Comparator-grænseflade, som er defineret i java.util-pakken. Metoden returnerer en komparator, der pålægger det omvendte af den naturlige rækkefølge. Det kaster NullPointerException, når man sammenligner null. Metodens signatur er:

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

Sammenlignelig er også en grænseflade, der hører til en java.lang-pakke.

Parametre

T: sammenlignelig type element, der skal sammenlignes.

df.loc

Eksempel

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

Produktion:

Sådan sorteres en liste i Java

Java Comparator.naturalOrder()

Metoden returnerer en komparator, der sammenligner sammenlignelige objekter i naturlig rækkefølge. Den returnerede sammenlignelige kan serialiseres. Når vi sammenligner null, kaster det NullPointerException. Det er fra Java 8. Signaturen for metoden er:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • Metoden sorterer elementerne i naturlig rækkefølge (stigende rækkefølge).
  • Den sætter nul øverst, hvis nogen.
  • Den placerer de store bogstaver først i naturlig rækkefølge efter de små bogstaver i den naturlige rækkefølge, hvis listen har både små og store bogstaver.

Parametre

T: Sammenlignelig type element, der skal sammenlignes.

Eksempel

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

Produktion:

Sådan sorteres en liste i Java

Java Collections.reverseOrder() metode

Det er metoden i Java Collections-klassen, som hører til en java.lang-pakke. Det returnerer en komparator, der pålægger omvendt den naturlige rækkefølge. Signaturen for metoden er:

 public static Comparator reverseOrder() 

Parametre

Klassen af ​​objekterne sammenlignet af komparatoren.

Eksempel

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

Produktion:

Sådan sorteres en liste i Java

Java Collections.sort() metode

Klassen Samlinger har to metoder til at sortere en liste:

c program til streng sammenligning

sort() metode

Sort()-metoden sorterer listen i stigende rækkefølge i henhold til den naturlige rækkefølge af dens elementer. Signaturen for metoden er:

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

Parametre

T: Det er en typeparameter.

liste: Listen, der skal sorteres.

python os listedir

Lad os se et andet eksempel på metoden Collections.sorts().

Eksempel

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

Produktion:

Sådan sorteres en liste i Java