logo

Cum să sortați o listă în Java

Putem folosi următoarele metode pentru a sorta lista:

diferenta simetrica
  • Folosind metoda stream.sorted().
  • Folosind metoda Comparator.reverseOrder().
  • Folosind metoda Comparator.naturalOrder().
  • Folosind metoda Collections.reverseOrder().
  • Folosind metoda Collections.sort().

Interfață Java Stream

Interfața Java Stream oferă două metode de sortare a listei:

metoda sortat().

Interfața Stream oferă o metodă sortat() pentru a sorta o listă. Este definit în interfața Stream care este prezentă în pachetul java.util . Returnează un flux sortat după ordinea naturală. Dacă elementele nu sunt comparabile, se aruncă java.lang.ClassCastException. Semnătura metodei este:

 Stream sorted() 

Parametru

T: Este un tip de element de flux.

Java Stream.sorted(Comparator comparator)

De asemenea, returnează un flux sortat în funcție de comparatorul furnizat. Este stabil pentru un flux ordonat. Semnătura metodei este:

 Stream sorted(Comparator comparator) 

Parametrii

  • T este tipul de element de flux.
  • comparator care trebuie utilizat pentru a compara elemente

Exemplu

În exemplul următor, am folosit următoarele metode:

arahide vs arahide
  • În Java 8, stream() este un API folosit pentru a procesa colecții de obiecte.
  • Metoda collect() este folosită pentru a primi elemente dintr-un flux și pentru a le stoca într-o colecție.
  • ToList() returnează colectorul care colectează toate elementele de intrare într-o listă, în ordinea întâlnirii.

Exemplu

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

Ieșire:

Cum să sortați o listă în Java

Metoda Java Comparator.reverseOrder().

ReverseOrder() este o metodă de interfață Comparator care este definită în pachetul java.util. Metoda returnează un comparator care impune inversul ordinii naturale. Aruncă NullPointerException la compararea null. Semnătura metodei este:

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

Comparabil este, de asemenea, o interfață care aparține unui pachet java.lang.

Parametrii

T: tip comparabil de element de comparat.

metoda substring în java

Exemplu

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

Ieșire:

Cum să sortați o listă în Java

Java Comparator.naturalOrder()

Metoda returnează un comparator care compară obiecte comparabile în ordinea naturală. Comparabilul returnat este serializabil. Când comparăm null, acesta aruncă NullPointerException. Este din Java 8. Semnătura metodei este:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • Metoda sortează elementele în ordine naturală (ordine crescător).
  • Se pune null în partea de sus, dacă există.
  • Pune elementele cu majuscule mai întâi în ordine naturală, după acele litere mici în ordinea naturală, dacă lista are atât litere mici, cât și majuscule.

Parametrii

T: Tip comparabil de element care trebuie comparat.

Exemplu

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

Ieșire:

Cum să sortați o listă în Java

Metoda Java Collections.reverseOrder().

Este metoda clasei Java Collections care aparține unui pachet java.lang. Returnează un comparator care impune inversul ordinii naturale. Semnătura metodei este:

 public static Comparator reverseOrder() 

Parametrii

Clasa obiectelor comparate de comparator.

Exemplu

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

Ieșire:

Cum să sortați o listă în Java

Metoda Java Collections.sort().

Clasa Collections are două metode de sortare a unei liste:

cum să știți dimensiunea afișajului

metoda sort().

Metoda sort() sortează lista în ordine crescătoare, în funcție de ordinea naturală a elementelor sale. Semnătura metodei este:

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

Parametrii

T: Este un parametru de tip.

listă: lista de sortat.

df loc

Să vedem un alt exemplu de metodă Collections.sorts().

Exemplu

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

Ieșire:

Cum să sortați o listă în Java