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.