logo

Como classificar uma lista em Java

Podemos usar os seguintes métodos para classificar a lista:

campo jtext
  • Usando o método stream.sorted()
  • Usando o método Comparator.reverseOrder()
  • Usando o método Comparator.naturalOrder()
  • Usando o método Collections.reverseOrder()
  • Usando o método Collections.sort()

Interface de fluxo Java

A interface Java Stream fornece dois métodos para classificar a lista:

método classificado()

A interface Stream fornece um método sorted() para classificar uma lista. É definido na interface Stream que está presente em pacote java.util . Ele retorna um fluxo classificado de acordo com a ordem natural. Se os elementos não forem comparáveis, lança java.lang.ClassCastException. A assinatura do método é:

 Stream sorted() 

Parâmetro

T: É um tipo de elemento de fluxo.

Java Stream.sorted (comparador comparador)

Também retorna um fluxo classificado de acordo com o comparador fornecido. É estável para um fluxo ordenado. A assinatura do método é:

 Stream sorted(Comparator comparator) 

Parâmetros

  • T é o tipo de elemento de fluxo.
  • comparador a ser usado para comparar elementos

Exemplo

No exemplo a seguir, usamos os seguintes métodos:

raposa ou lobo
  • Em Java 8, stream() é uma API usada para processar coleções de objetos.
  • O método collect() é usado para receber elementos de um fluxo e armazená-los em uma coleção.
  • O toList() retorna o coletor que coleta todos os elementos de entrada em uma lista, na ordem de encontro.

Exemplo

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

Saída:

Como classificar uma lista em Java

Método Java Comparator.reverseOrder()

O reverseOrder() é um método de interface Comparator que é definido no pacote java.util. O método retorna um comparador que impõe o inverso da ordem natural. Ele lança NullPointerException ao comparar nulo. A assinatura do método é:

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

Comparável também é uma interface que pertence a um pacote java.lang.

Parâmetros

T: tipo comparável de elemento a ser comparado.

Exemplo

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

Saída:

Como classificar uma lista em Java

Comparador Java.naturalOrder()

O método retorna um comparador que compara objetos Comparáveis ​​na ordem natural. O comparável retornado é serializável. Quando comparamos null, ele lança NullPointerException. É do Java 8. A assinatura do método é:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • O método classifica os elementos em ordem natural (ordem crescente).
  • Coloca null no topo, se houver.
  • Ele coloca os elementos das letras maiúsculas primeiro em ordem natural, depois das letras minúsculas na ordem natural, se a lista tiver letras minúsculas e maiúsculas.

Parâmetros

T: Tipo comparável de elemento a ser comparado.

Exemplo

classe de objeto em java
 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); } } 

Saída:

Como classificar uma lista em Java

Método Java Collections.reverseOrder()

É o método da classe Java Collections que pertence a um pacote java.lang. Retorna um comparador que impõe o reverso da ordem natural. A assinatura do método é:

 public static Comparator reverseOrder() 

Parâmetros

A classe dos objetos comparados pelo comparador.

java para loop

Exemplo

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

Saída:

Como classificar uma lista em Java

Método Java Collections.sort()

A classe Collections possui dois métodos para classificar uma lista:

método classificar()

O método sort() ordena a lista em ordem crescente, de acordo com a ordem natural de seus elementos. A assinatura do método é:

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

Parâmetros

T: É um parâmetro de tipo.

como obter a data atual em java

list: A lista a ser classificada.

Vamos ver outro exemplo do método Collections.sorts().

Exemplo

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

Saída:

Como classificar uma lista em Java