logo

Hur man sorterar en lista i Java

Vi kan använda följande metoder för att sortera listan:

filtrerande python
  • Använder metoden stream.sorted().
  • Använder metoden Comparator.reverseOrder().
  • Använder metoden Comparator.naturalOrder().
  • Använder metoden Collections.reverseOrder().
  • Använder metoden Collections.sort().

Java Stream-gränssnitt

Java Stream-gränssnittet tillhandahåller två metoder för att sortera listan:

sorted() metod

Stream-gränssnittet tillhandahåller en sorted()-metod för att sortera en lista. Det definieras i Stream-gränssnittet som finns i java.util-paketet . Den returnerar en ström sorterad enligt den naturliga ordningen. Om elementen inte är jämförbara, kastar det java.lang.ClassCastException. Signaturen för metoden är:

 Stream sorted() 

Parameter

T: Det är en typ av strömelement.

Java Stream.sorted(Comparator comparator)

Den returnerar också en ström sorterad enligt den medföljande komparatorn. Den är stabil för en beställd ström. Signaturen för metoden är:

 Stream sorted(Comparator comparator) 

Parametrar

  • T är typen av strömelement.
  • komparator som ska användas för att jämföra element

Exempel

I följande exempel har vi använt följande metoder:

bash sträng längd
  • I Java 8 är stream() ett API som används för att bearbeta samlingar av objekt.
  • Metoden collect() används för att ta emot element från en ström och lagra dem i en samling.
  • toList() returnerar samlaren som samlar alla indataelement till en lista, i mötesordning.

Exempel

 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:

Hur man sorterar en lista i Java

Java Comparator.reverseOrder() metod

ReverseOrder() är en metod för Comparator-gränssnittet som definieras i java.util-paketet. Metoden returnerar en komparator som ålägger det omvända av den naturliga ordningen. Den kastar NullPointerException när man jämför null. Metodsignaturen är:

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

Jämförbart är också ett gränssnitt som tillhör ett java.lang-paket.

Parametrar

T: jämförbar typ av element som ska jämföras.

Exempel

 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:

Hur man sorterar en lista i Java

Java Comparator.naturalOrder()

Metoden returnerar en komparator som jämför jämförbara objekt i naturlig ordning. Den returnerade jämförbara kan serialiseras. När vi jämför null, kastar det NullPointerException. Det är från Java 8. Signaturen för metoden är:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • Metoden sorterar elementen i naturlig ordning (stigande ordning).
  • Den sätter noll överst om någon.
  • Den sätter de stora bokstäverna först i naturlig ordning efter de små bokstäverna i naturlig ordning, om listan har både små och stora bokstäver.

Parametrar

T: Jämförbar typ av element som ska jämföras.

ta bort npm-cache

Exempel

 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:

för loop i java
Hur man sorterar en lista i Java

Java Collections.reverseOrder()-metoden

Det är metoden för Java Collections-klassen som tillhör ett java.lang-paket. Den returnerar en komparator som ålägger omvänd ordning den naturliga ordningen. Signaturen för metoden är:

 public static Comparator reverseOrder() 

Parametrar

Klassen av objekten som jämförs av komparatorn.

Exempel

 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:

Hur man sorterar en lista i Java

Java Collections.sort()-metoden

Klassen Collections har två metoder för att sortera en lista:

sort() metod

Metoden sort() sorterar listan i stigande ordning, enligt den naturliga ordningen av dess element. Signaturen för metoden är:

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

Parametrar

uppsåt uppsåt

T: Det är en typparameter.

lista: Listan som ska sorteras.

Låt oss se ett annat exempel på metoden Collections.sorts().

Exempel

 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:

Hur man sorterar en lista i Java