logo

Com ordenar una llista en Java

Podem utilitzar els mètodes següents per ordenar la llista:

iterador de mapa java
  • Utilitzant el mètode stream.sorted().
  • Utilitzant el mètode Comparator.reverseOrder().
  • Utilitzant el mètode Comparator.naturalOrder().
  • Utilitzant el mètode Collections.reverseOrder().
  • Utilitzant el mètode Collections.sort().

Interfície Java Stream

La interfície Java Stream ofereix dos mètodes per ordenar la llista:

mètode ordenat().

La interfície de flux proporciona un mètode ordenat () per ordenar una llista. Es defineix a la interfície Stream que està present a paquet java.util . Retorna un rierol ordenat segons l'ordre natural. Si els elements no són comparables, llança java.lang.ClassCastException. La signatura del mètode és:

 Stream sorted() 

Paràmetre

T: És un tipus d'element de corrent.

Java Stream.sorted (comparador de comparació)

També retorna un flux ordenat segons el comparador proporcionat. És estable per a un flux ordenat. La signatura del mètode és:

 Stream sorted(Comparator comparator) 

Paràmetres

  • T és el tipus d'element de corrent.
  • comparador que s'utilitzarà per comparar elements

Exemple

En l'exemple següent, hem utilitzat els mètodes següents:

sistema de fitxers a linux
  • A Java 8, stream() és una API que s'utilitza per processar col·leccions d'objectes.
  • El mètode collect() s'utilitza per rebre elements d'un flux i emmagatzemar-los en una col·lecció.
  • El toList() retorna el col·lector que recull tots els elements d'entrada en una llista, en ordre de trobada.

Exemple

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

Sortida:

Com ordenar una llista en Java

Mètode Java Comparator.reverseOrder().

El reverseOrder() és un mètode de la interfície Comparator que es defineix al paquet java.util. El mètode retorna un comparador que imposa el contrari de l'ordenament natural. Llança NullPointerException quan es compara null. La signatura del mètode és:

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

Comparable també és una interfície que pertany a un paquet java.lang.

Paràmetres

T: tipus d'element comparable a comparar.

Exemple

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

Sortida:

Com ordenar una llista en Java

Java Comparator.naturalOrder()

El mètode retorna un comparador que compara objectes comparables en l'ordre natural. El comparable retornat és serializable. Quan comparem null, llança NullPointerException. És de Java 8. La signatura del mètode és:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • El mètode ordena els elements en ordre natural (ordre ascendent).
  • Posa null a la part superior si n'hi ha.
  • Posa els elements de la lletra majúscula primer en ordre natural després d'aquelles lletres minúscules en l'ordre natural, si la llista té tant lletres minúscules com majúscules.

Paràmetres

T: Tipus d'element comparable a comparar.

Exemple

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

Sortida:

Com ordenar una llista en Java

Mètode Java Collections.reverseOrder().

És el mètode de la classe Java Collections que pertany a un paquet java.lang. Retorna un comparador que imposa la inversa de l'ordenament natural. La signatura del mètode és:

 public static Comparator reverseOrder() 

Paràmetres

interfície comparable a java

La classe dels objectes comparats pel comparador.

Exemple

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

Sortida:

Com ordenar una llista en Java

Mètode Java Collections.sort().

La classe Col·leccions té dos mètodes per ordenar una llista:

mètode sort().

El mètode sort() ordena la llista en ordre ascendent, segons l'ordenació natural dels seus elements. La signatura del mètode és:

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

Paràmetres

T: És un paràmetre de tipus.

llista: la llista que s'ha d'ordenar.

Vegem un altre exemple del mètode Collections.sorts().

porció de matriu java

Exemple

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

Sortida:

Com ordenar una llista en Java