O que é o método Stream.sorted() em Java

O Que E O Metodo Stream Sorted Em Java



Em Java, pode haver certas instâncias em que o programador precisa classificar as entradas de acordo com o requisito. Por exemplo, recuperar os valores não classificados ou gerados aleatoriamente de uma maneira específica (crescente ou decrescente). Em tais situações, o “ Stream.sorted() ” ajuda a classificar os dados de forma eficaz no final do desenvolvedor.

Este artigo detalhará o uso e a implementação do método “Stream.sorted()” em Java.







O que é o método “Stream.sorted()” em Java?

O ' Stream.sorted() ” corresponde ao método “ Fluxo ”interface. Este método fornece um fluxo classificado sem afetar a ordem dos elementos/itens no fluxo original.



Sintaxe



Caso 1: Sem Parâmetro





stream.sorted ( )

Caso 2: Com Parâmetro



stream.sorted ( comp )

Nesta sintaxe, “ comp ” refere-se ao comparador com base no qual a classificação será feita.

Antes de prosseguir para os exemplos, certifique-se de incluir o pacote a seguir. Este pacote compreende classes, interfaces, etc, para permitir operações de estilo funcional nos elementos:

importar java.util.stream. * ;

Exemplo 1: Aplicando o Método “Stream.sorted()” para Ordenar (Ascendente e Decrescente) os Inteiros em Java

O ' Fluxo de() ” é usado para criar um fluxo sequencial para os elementos fornecidos. Neste exemplo, este método pode ser aplicado combinado com o “ Stream.sorted() ” para classificar o fluxo de inteiros de maneira crescente e decrescente:

classe pública classificada {
public static void main ( Corda [ ] argumentos ) {
Fluxo < inteiro > sortStream1 = Stream.of ( 2 , 4 , 3 , 5 , 1 ) ;
Fluxo < inteiro > sortStream2 = Stream.of ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( 'O primeiro fluxo é: ' ) ;
sortStream1.sorted ( ) .para cada ( System.out::println ) ;
System.out.println ( ' \n O segundo fluxo é: ' ) ;
sortStream2.sorted ( ( a, b ) - > BA ) .para cada ( System.out::println ) ;
} }

Neste trecho de código:

  • Crie dois fluxos inteiros diferentes por meio do “ de() ” método.
  • Depois disso, associe o “ ordenado() ” com o fluxo anterior criado para classificar o fluxo em “ ascendente ' ordem.
  • Agora, aplique o “ ordenado() ” novamente com o último stream para retornar o stream em “ descendente ” ordem de acordo com o comparador especificado, ou seja, “ BA ”.
  • Por fim, exiba o fluxo de números inteiros classificados em ambos os casos no console.

Saída

Nesta saída, pode-se observar que ambos os fluxos são classificados de acordo.

Antes de seguir para o próximo exemplo, inclua o exemplo abaixo para acessar todas as classes e métodos:

importar java.util. * ;

Exemplo 2: Aplicando o Método “Stream.sorted()” para Ordenar os Objetos de Classe

Neste exemplo particular, o método discutido pode ser implementado nos objetos de classe para classificar os valores passados:

dados de classe {
int eu ia ;
Nome da cadeia;
Dados ( int eu ia ,Nome da sequência ) {
this.id = eu ia ;
this.name = nome;
}
String pública para String ( ) {
retornar 'id=' + this.id
+ ', nome=' + este.nome;
} }
classe streamsorted {
public static void main ( Corda [ ] argumentos ) {
Lista < Dados > lista = new ArrayList < Dados > ( ) ;
lista.adicionar ( novos dados ( 2 , 'Atormentar' ) ) ;
lista.adicionar ( novos dados ( 1 , 'Davi' ) ) ;
lista.adicionar ( novos dados ( 3 , 'Tom' ) ) ;
Fluxo < Dados > fluxo = lista.fluxo ( ) ;
stream.sorted ( ( e1, e2 ) - > e1.id - e2.id ) .para cada ( System.out::println ) ;
} }

Nessas linhas de código, execute as seguintes etapas:

  • Primeiramente, declare uma classe chamada “ Dados ”.
  • Em sua definição, especifique as variáveis ​​indicadas.
  • Na próxima etapa, inclua um construtor de classe parametrizada com os parâmetros idênticos às variáveis ​​especificadas.
  • Na definição do construtor, consulte as variáveis ​​especificadas e aloque a elas os valores de argumento passados ​​por meio de “ esse ”.
  • Agora, substitua o “ para sequenciar() ” para retornar os valores passados.
  • No ' principal() ” método, crie uma lista dos objetos de classe e adicione os valores passados ​​declarados à lista por meio do associado “ adicionar() ” método.
  • Depois disso, busque o stream da lista por meio do botão “ fluxo() ” método.
  • Além disso, aplique o “ ordenado() ” método com o comparador declarado que compara dois objetos com base em “ eu ia ” em um “ ascendente ' maneiras.
  • Por fim, aplique o “ para cada() ” para registrar o fluxo de objetos classificados no console.

Saída

Neste resultado, pode-se analisar que os valores do objeto são classificados de forma adequada.

Conclusão

O ' Stream.sorted() ” é o método correspondente ao “ Fluxo ” interface que fornece um fluxo classificado sem afetar a ordem dos itens/elementos no fluxo original. Esse método classifica os elementos de maneira padrão, bem como com base no comparador especificado. Este blog discutiu o uso e a implementação do método “Stream.sorted()” em Java.