Kaj je metoda Stream.sorted() v Javi

Kaj Je Metoda Stream Sorted V Javi



V Javi lahko pride do določenih primerov, ko mora programer razvrstiti vnose v skladu z zahtevo. Na primer, pridobivanje nerazvrščenih ali naključno ustvarjenih vrednosti na določen (naraščajoči ali padajoči) način. V takih situacijah » Stream.sorted() ” pomaga pri učinkovitem razvrščanju podatkov na koncu razvijalca.

Ta članek bo podrobneje predstavil uporabo in implementacijo metode »Stream.sorted()« v Javi.







Kaj je metoda »Stream.sorted()« v Javi?

' Stream.sorted() ' metoda ustreza ' Tok ” vmesnik. Ta metoda daje razvrščen tok brez vpliva na vrstni red elementov/predmetov v izvirnem toku.



Sintaksa



1. primer: Brez parametra





tok.razvrščeno ( )

2. primer: s parametrom



tok.razvrščeno ( komp )

V tej sintaksi ' komp ” se nanaša na primerjalnik, na podlagi katerega bo izvedeno razvrščanje.

Preden nadaljujete s primeri, poskrbite, da boste vključili naslednji paket. Ta paket vsebuje razrede, vmesnike itd., ki omogočajo operacije v funkcionalnem slogu na elementih:

uvozi java.util.stream. * ;

1. primer: uporaba metode »Stream.sorted()« za razvrščanje (naraščajoče in padajoče) celih števil v Javi

' Stream.of() ” se uporablja za ustvarjanje zaporednega toka za podane elemente. V tem primeru je to metodo mogoče uporabiti v kombinaciji z ' Stream.sorted() ” za razvrščanje toka celih števil v naraščajočem in padajočem načinu:

javni razred razvrščen {
javni statični void main ( Vrvica [ ] args ) {
Tok < Celo število > sortStream1 = Stream.of ( 2 , 4 , 3 , 5 , 1 ) ;
Tok < Celo število > sortStream2 = Stream.of ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( 'Prvi tok je: ' ) ;
sortStream1.sorted ( ) .za vsakogar ( System.out::println ) ;
System.out.println ( ' \n Drugi tok je: ' ) ;
sortStream2.sorted ( ( a, b ) - > b-a ) .za vsakogar ( System.out::println ) ;
} }

V tem delčku kode:

  • Ustvarite dva različna celoštevilska toka prek ' od() ” metoda.
  • Po tem povežite » razvrščeno() ' z ustvarjenim prejšnjim tokom za razvrščanje toka v ' naraščajoče ” naročilo.
  • Zdaj uporabite ' razvrščeno() ' ponovno s slednjim tokom, da vrne tok v ' padajoče ” vrstni red v skladu z navedenim primerjalnikom, tj. b-a ”.
  • Na koncu prikažite tok razvrščenih celih števil v obeh primerih na konzoli.

Izhod

V tem rezultatu je mogoče opaziti, da sta oba toka ustrezno razvrščena.

Preden se odpravite na naslednji primer, vključite spodnji primer za dostop do vseh razredov in metod:

uvozi java.util. * ;

2. primer: uporaba metode »Stream.sorted()« za razvrščanje predmetov razreda

V tem posebnem primeru je mogoče obravnavano metodo implementirati na objekte razreda za razvrščanje posredovanih vrednosti:

Podatki razreda {
int id ;
Ime niza;
podatki ( int id ,Ime niza ) {
this.id = id ;
this.name = ime;
}
public String toString ( ) {
vrnitev 'id=' + this.id
+ ', ime=' + this.name;
} }
razred streamsorted {
javni statični void main ( Vrvica [ ] args ) {
Seznam < podatki > seznam = nov ArrayList < podatki > ( ) ;
seznam.dodaj ( novi podatki ( 2 , 'Harry' ) ) ;
seznam.dodaj ( novi podatki ( 1 , 'David' ) ) ;
seznam.dodaj ( novi podatki ( 3 , 'Tom' ) ) ;
Tok < podatki > tok = seznam.tok ( ) ;
tok.razvrščeno ( ( e1, e2 ) - > e1.id - e2.id ) .za vsakogar ( System.out::println ) ;
} }

V teh vrsticah kode izvedite naslednje korake:

  • Najprej deklarirajte razred z imenom ' podatki ”.
  • V njeni definiciji navedite navedene spremenljivke.
  • V naslednjem koraku vključite parametrizirani konstruktor razreda, ki ima parametre, enake navedenim spremenljivkam.
  • V definiciji konstruktorja se sklicujte na navedene spremenljivke in jim dodelite vrednosti posredovanih argumentov prek ' to ”.
  • Zdaj preglasite » toString() ” za vrnitev posredovanih vrednosti.
  • V ' glavni () ', ustvarite seznam predmetov razreda in dodajte navedene posredovane vrednosti na seznam prek povezanega ' dodaj() ” metoda.
  • Po tem prenesite tok s seznama prek » tok () ” metoda.
  • Uporabite tudi ' razvrščeno() ' z navedenim primerjalnikom, ki primerja dva predmeta na podlagi ' id 'v' naraščajoče ” način.
  • Na koncu uporabite ' za vsakogar() ” za beleženje toka razvrščenih predmetov na konzoli.

Izhod

V tem rezultatu je mogoče analizirati, ali so vrednosti objekta ustrezno razvrščene.

Zaključek

' Stream.sorted() ' je metoda, ki ustreza ' Tok ” vmesnik, ki daje razvrščen tok, ne da bi vplival na vrstni red predmetov/elementov v izvirnem toku. Ta metoda razvrsti elemente na privzet način in na podlagi podanega primerjalnika. Ta blog je razpravljal o uporabi in izvajanju metode »Stream.sorted()« v Javi.