Mis on Javas meetod Stream.sorted()?

Mis On Javas Meetod Stream Sorted



Javas võib esineda teatud juhtumeid, kus programmeerija peab kirjed vastavalt nõudele sorteerima. Näiteks sortimata või juhuslikult genereeritud väärtuste hankimine kindlal (kasvavalt või kahanevalt) viisil. Sellistes olukordades on ' Stream.sorted() ” meetod aitab arendaja lõpus andmeid tõhusalt sortida.

Selles artiklis käsitletakse meetodi „Stream.sorted()” kasutamist ja juurutamist Javas.







Mis on Java-meetod Stream.sorted()?

' Stream.sorted() ' meetod vastab ' Voog ” liides. See meetod annab sorteeritud voo, mõjutamata elementide/üksuste järjestust algses voos.



Süntaks



1. juhtum: parameetrit pole





oja.sorteeritud ( )

Juhtum 2: parameetriga



oja.sorteeritud ( komp )

Selles süntaksis ' komp ” viitab võrdlusele, mille alusel sorteerimine toimub.

Enne näidete juurde jätkamist lisage kindlasti järgmine pakett. See pakett sisaldab klasse, liideseid jne, et võimaldada funktsionaalse stiiliga toiminguid elementidega:

importida java.util.stream. * ;

Näide 1: meetodi „Stream.sorted()” rakendamine Java täisarvude sortimiseks (kasvavalt ja kahanevalt)

' Stream.of() ” meetodit kasutatakse antud elementide jaoks järjestikuse voo loomiseks. Selles näites saab seda meetodit rakendada koos ' Stream.sorted() ” meetod täisarvude voo sortimiseks kasvavalt ja kahanevalt:

avalik klass sorteeritud {
avalik static void main ( String [ ] args ) {
Voog < Täisarv > sortStream1 = Stream.of ( 2 , 4 , 3 , 5 , 1 ) ;
Voog < Täisarv > sortStream2 = Stream.of ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( 'Esimene voog on:' ) ;
sortStream1.sorted ( ) .igaühele ( System.out::println ) ;
System.out.println ( ' \n Teine voog on: ' ) ;
sortStream2.sorted ( ( a, b ) - > b-a ) .igaühele ( System.out::println ) ;
} }

Selles koodilõigus:

  • Looge kaks erinevat täisarvu voogu ' /() ” meetod.
  • Pärast seda seostage ' sorteeritud () ' meetodit loodud endise vooga, et sortida voogu ' tõusev ” tellimus.
  • Nüüd rakendage ' sorteeritud () ' meetod uuesti viimase vooga, et tagastada voog ' laskuv ” järjekorda vastavalt määratud võrdlusele, st „ b-a ”.
  • Lõpuks kuvage konsoolil mõlemal juhul sorteeritud täisarvude voog.

Väljund

Selles väljundis võib täheldada, et mõlemad vood on vastavalt sorteeritud.

Enne järgmise näite juurde suundumist lisage kõigile klassidele ja meetoditele juurdepääsemiseks alltoodud näide:

importida java.util. * ;

Näide 2: meetodi „Stream.sorted()” rakendamine klassiobjektide sortimiseks

Selles konkreetses näites saab käsitletud meetodit rakendada klassiobjektidel, et sorteerida edastatud väärtusi:

klass Andmed {
int id ;
Stringi nimi;
Andmed ( int id ,Stringi nimi ) {
this.id = id ;
see.nimi = nimi;
}
avalik string toString ( ) {
tagasi 'id=' + this.id
+ ', nimi=' + see.nimi;
} }
klassi voogedastus {
avalik static void main ( String [ ] args ) {
Nimekiri < Andmed > list = uus ArrayList < Andmed > ( ) ;
list.add ( uued andmed ( 2 , 'Harry' ) ) ;
list.add ( uued andmed ( 1 , 'Taavet' ) ) ;
list.add ( uued andmed ( 3 , 'Tom' ) ) ;
Voog < Andmed > voog = list.stream ( ) ;
oja.sorteeritud ( ( e1, e2 ) - > e1.id - e2.id ) .igaühele ( System.out::println ) ;
} }

Nendel koodiridadel tehke järgmised toimingud.

  • Esiteks deklareerige klass nimega ' Andmed ”.
  • Selle määratluses täpsustage märgitud muutujad.
  • Järgmises etapis lisage parameetritega klassikonstruktor, mille parameetrid on identsed määratud muutujatega.
  • Konstruktori definitsioonis vaadake määratud muutujaid ja määrake neile edastatud argumendi väärtused ' see ”.
  • Nüüd alistage ' toString() ” meetod läbitud väärtuste tagastamiseks.
  • jaotises ' peamine () ' meetodil, looge klassiobjektide loend ja lisage loendisse märgitud edastatud väärtused seotud ' lisama() ” meetod.
  • Pärast seda laadige voog loendist ' voog () ” meetod.
  • Rakendage ka ' sorteeritud () ” meetodit koos märgitud komparaatoriga, mis võrdleb kahte objekti, tuginedes id ' in ' tõusev ” viisil.
  • Lõpuks rakendage ' igaühele() ” meetodit sorteeritud objektide voo logimiseks konsoolil.

Väljund

Selles tulemuses saab analüüsida, et objekti väärtused on õigesti sorteeritud.

Järeldus

' Stream.sorted() ” on meetod, mis vastab Voog ” liides, mis annab sorteeritud voo, mõjutamata üksuste/elementide järjestust algses voos. See meetod sorteerib elemendid nii vaikimisi kui ka määratud komparaatori alusel. Selles ajaveebis käsitleti meetodi „Stream.sorted()” kasutamist ja rakendamist Javas.