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.