Què és el mètode Stream.sorted() a Java

Que Es El Metode Stream Sorted A Java



A Java, hi pot haver determinats casos en què el programador necessiti ordenar les entrades d'acord amb el requisit. Per exemple, recuperar els valors no ordenats o generats aleatòriament d'una manera específica (ascendent o descendent). En aquestes situacions, el ' Stream.sorted() ” El mètode ajuda a ordenar les dades de manera eficaç al final del desenvolupador.

Aquest article s'explicarà com utilitzar i implementar el mètode 'Stream.sorted()' a Java.







Què és el mètode 'Stream.sorted()' a Java?

El ' Stream.sorted() El mètode correspon al mètode corrent ” interfície. Aquest mètode proporciona un flux ordenat sense afectar l'ordenació dels elements/elements del flux original.



Sintaxi



Cas 1: cap paràmetre





corrent.ordenat ( )

Cas 2: amb paràmetre



corrent.ordenat ( comp )

En aquesta sintaxi, ' comp ” fa referència al comparador en funció del qual es farà l'ordenació.

Abans de continuar amb els exemples, assegureu-vos d'incloure el paquet següent. Aquest paquet inclou classes, interfícies, etc., per permetre operacions d'estil funcional sobre els elements:

importar java.util.stream. * ;

Exemple 1: aplicació del mètode 'Stream.sorted()' per ordenar (ascendent i descendent) els nombres enters a Java

El ' Stream.of() ” s'utilitza per crear un flux seqüencial per als elements donats. En aquest exemple, aquest mètode es pot aplicar combinat amb el ' Stream.sorted() ” mètode per ordenar el flux d'enters de manera ascendent i descendent:

classe pública ordenada {
principal buit estàtic públic ( Corda [ ] args ) {
corrent < Enter > sortStream1 = Corrent.de ( 2 , 4 , 3 , 5 , 1 ) ;
corrent < Enter > sortStream2 = Corrent.de ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( 'El primer flux és:' ) ;
sortStream1.sorted ( ) .per cadascú ( System.out::println ) ;
System.out.println ( ' \n El segon flux és: ' ) ;
sortStream2.sorted ( ( a, b ) - > b-a ) .per cadascú ( System.out::println ) ;
} }

En aquest fragment de codi:

  • Creeu dos fluxos enters diferents mitjançant el ' de () ” mètode.
  • Després d'això, associa el ' ordenat () ” mètode amb el flux anterior creat per ordenar el flux en “ ascendent ” ordre.
  • Ara, apliqueu el ' ordenat () ” mètode de nou amb aquest darrer flux per retornar el flux en “ descendent ” ordre d'acord amb el comparador especificat, és a dir, “ b-a ”.
  • Finalment, mostreu el flux d'enters ordenats en ambdós casos a la consola.

Sortida

En aquesta sortida, es pot observar que ambdós fluxos s'ordenen en conseqüència.

Abans d'anar a l'exemple següent, inclou l'exemple que es proporciona a continuació per accedir a totes les classes i mètodes:

import java.util. * ;

Exemple 2: aplicació del mètode 'Stream.sorted()' per ordenar els objectes de classe

En aquest exemple particular, el mètode comentat es pot implementar en els objectes de classe per ordenar els valors passats:

Dades de classe {
int id ;
nom de cadena;
Dades ( int id ,Nom de cadena ) {
this.id = id ;
this.name = nom;
}
Public String toString ( ) {
tornar 'id=' + this.id
+ ', nom=' + this.name;
} }
stream de classe ordenat {
principal buit estàtic públic ( Corda [ ] args ) {
Llista < Dades > llista = nova ArrayList < Dades > ( ) ;
llista.afegir ( dades noves ( 2 , 'Harry' ) ) ;
llista.afegir ( dades noves ( 1 , 'David' ) ) ;
llista.afegir ( dades noves ( 3 , 'Tom' ) ) ;
corrent < Dades > corrent = llista.corrent ( ) ;
corrent.ordenat ( ( e1, e2 ) - > e1.id - e2.id ) .per cadascú ( System.out::println ) ;
} }

En aquestes línies de codi, realitzeu els passos següents:

  • En primer lloc, declara una classe anomenada ' Dades ”.
  • En la seva definició, especifiqueu les variables indicades.
  • En el següent pas, incloeu un constructor de classes parametritzat que tingui els paràmetres idèntics a les variables especificades.
  • A la definició del constructor, feu referència a les variables especificades i assigneu-les els valors dels arguments passats mitjançant ' això ”.
  • Ara, anul·la el ' toString() ” per retornar els valors passats.
  • En el ' principal () ”, creeu una llista dels objectes de classe i afegiu els valors passats indicats a la llista mitjançant el ' associat ' afegir() ” mètode.
  • Després d'això, obteniu el flux de la llista mitjançant el ' corrent() ” mètode.
  • A més, apliqueu el ' ordenat () ” mètode amb el comparador indicat que compara dos objectes basats en “ id 'en un' ascendent ” manera.
  • Finalment, apliqueu el ' per cadascú() ” per registrar el flux d'objectes ordenats a la consola.

Sortida

En aquest resultat, es pot analitzar que els valors dels objectes estan ordenats adequadament.

Conclusió

El ' Stream.sorted() ” és el mètode corresponent al “ corrent ” interfície que ofereix un flux ordenat sense afectar l'ordenació d'elements/elements en el flux original. Aquest mètode ordena els elements de manera predeterminada, així com en funció del comparador especificat. Aquest bloc va parlar de l'ús i la implementació del mètode 'Stream.sorted()' a Java.