Hva er Stream.sorted()-metoden i Java

Hva Er Stream Sorted Metoden I Java



I Java kan det være visse tilfeller der programmereren trenger å sortere oppføringene i samsvar med kravet. For eksempel å hente de usorterte eller tilfeldig genererte verdiene på en spesifikk (stigende eller synkende) måte. I slike situasjoner vil ' Stream.sorted() ”-metoden hjelper til med å sortere dataene effektivt ved utviklerens ende.

Denne artikkelen vil utdype bruk og implementering av 'Stream.sorted()'-metoden i Java.







Hva er 'Stream.sorted()'-metoden i Java?

« Stream.sorted() '-metoden tilsvarer ' Strøm ' grensesnitt. Denne metoden gir en sortert strøm uten å påvirke elementene/elementene i den opprinnelige strømmen.



Syntaks



Tilfelle 1: Ingen parameter





strøm.sortert ( )

Tilfelle 2: Med parameter



strøm.sortert ( komp )

I denne syntaksen ' komp ” refererer til komparatoren som sorteringen skal utføres på.

Før du går videre til eksemplene, sørg for å inkludere følgende pakke. Denne pakken inneholder klasser, grensesnitt, etc, for å tillate funksjonelle operasjoner på elementene:

importer java.util.stream. * ;

Eksempel 1: Bruk av metoden 'Stream.sorted()' for å sortere (stigende og synkende) heltallene i Java

« Stream.of() ”-metoden brukes til å lage en sekvensiell strøm for de gitte elementene. I dette eksemplet kan denne metoden brukes kombinert med ' Stream.sorted() ' metode for å sortere heltallsstrømmen på stigende og synkende måte:

offentlig klasse sortert {
offentlig statisk tomrom hoved ( String [ ] args ) {
Strøm < Heltall > sortStream1 = Stream.of ( 2 , 4 , 3 , 5 , 1 ) ;
Strøm < Heltall > sortStream2 = Stream.of ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( 'Den første strømmen er: ' ) ;
sortStream1.sorted ( ) .for hver ( System.out::println ) ;
System.out.println ( ' \n Den andre strømmen er: ' ) ;
sortStream2.sorted ( ( a, b ) - > b-a ) .for hver ( System.out::println ) ;
} }

I denne kodebiten:

  • Lag to forskjellige heltallsstrømmer via ' av() 'metoden.
  • Etter det, tilknytt ' sortert() '-metoden med den opprettede tidligere strømmen for å sortere strømmen i ' stigende ' rekkefølge.
  • Bruk nå ' sortert() '-metoden igjen med den sistnevnte strømmen for å returnere strømmen i ' synkende ' bestille i samsvar med den spesifiserte komparatoren, dvs. ' b-a '.
  • Til slutt, vis den sorterte heltallstrømmen i begge tilfeller på konsollen.

Produksjon

I denne utgangen kan det observeres at begge strømmene er sortert deretter.

Før du går til neste eksempel, ta med eksemplet nedenfor for å få tilgang til alle klassene og metodene:

importer java.util. * ;

Eksempel 2: Bruk av metoden 'Stream.sorted()' for å sortere klasseobjektene

I dette spesielle eksemplet kan den diskuterte metoden implementeres på klasseobjektene for å sortere de beståtte verdiene:

klasse Data {
int id ;
Strengnavn;
Data ( int id ,Strengnavn ) {
this.id = id ;
dette.navn = navn;
}
offentlig streng til streng ( ) {
komme tilbake 'id=' + this.id
+ ', navn=' + dette.navn;
} }
klasse strømsortert {
offentlig statisk tomrom hoved ( String [ ] args ) {
Liste < Data > list = ny ArrayList < Data > ( ) ;
liste.legg til ( nye data ( 2 , 'Harry' ) ) ;
liste.legg til ( nye data ( 1 , 'David' ) ) ;
liste.legg til ( nye data ( 3 , 'Tom' ) ) ;
Strøm < Data > strøm = liste.strøm ( ) ;
strøm.sortert ( ( e1, e2 ) - > e1.id - e2.id ) .for hver ( System.out::println ) ;
} }

Utfør følgende trinn i disse kodelinjene:

  • Først erklærer du en klasse som heter ' Data '.
  • Spesifiser de angitte variablene i definisjonen.
  • I neste trinn inkluderer du en parameterisert klassekonstruktør som har parametrene identiske med de spesifiserte variablene.
  • I konstruktørdefinisjonen, referer til de spesifiserte variablene, og alloker dem de beståtte argumentverdiene via ' dette '.
  • Nå, overstyr ' toString() ”-metoden for å returnere de beståtte verdiene.
  • I « hoved() '-metoden, opprett en liste over klasseobjektene og legg til de oppgitte beståtte verdiene til listen via den tilknyttede ' Legg til() 'metoden.
  • Deretter henter du strømmen fra listen via ' strøm() 'metoden.
  • Bruk også ' sortert() ” metode med den angitte komparatoren som sammenligner to objekter basert på “ id ' i en ' stigende ' måte.
  • Til slutt bruker du ' for hver() ”-metoden for å logge den sorterte objektstrømmen på konsollen.

Produksjon

I dette utfallet kan det analyseres at objektverdiene er riktig sortert.

Konklusjon

« Stream.sorted() ' er metoden som tilsvarer ' Strøm ” grensesnitt som gir en sortert strøm uten å påvirke varene/elementene i den opprinnelige strømmen. Denne metoden sorterer elementene på en standard måte samt basert på den angitte komparatoren. Denne bloggen diskuterte bruk og implementering av 'Stream.sorted()'-metoden i Java.