Čo je metóda Stream.sorted() v jazyku Java

Co Je Metoda Stream Sorted V Jazyku Java



V jazyku Java môžu nastať určité prípady, keď programátor potrebuje zoradiť položky v súlade s požiadavkou. Napríklad získavanie netriedených alebo náhodne generovaných hodnôt špecifickým (vzostupným alebo zostupným) spôsobom. V takýchto situáciách „ Stream.sorted() “ pomáha efektívne triediť údaje na konci vývojára.

Tento článok sa bude zaoberať používaním a implementáciou metódy „Stream.sorted()“ v jazyku Java.







Čo je metóda „Stream.sorted()“ v jazyku Java?

' Stream.sorted() “metóda zodpovedá “ Prúd ' rozhranie. Táto metóda poskytuje triedený tok bez ovplyvnenia poradia prvkov/položiek v pôvodnom toku.



Syntax



Prípad 1: Žiadny parameter





prúd.triedený ( )

Prípad 2: S parametrom



prúd.triedený ( komp )

V tejto syntaxi „ komp “ označuje porovnávač, na základe ktorého sa bude triediť.

Pred pokračovaním v príkladoch nezabudnite zahrnúť nasledujúci balík. Tento balík obsahuje triedy, rozhrania atď., ktoré umožňujú operácie vo funkčnom štýle s prvkami:

importovať java.util.stream. * ;

Príklad 1: Použitie metódy „Stream.sorted()“ na triedenie (vzostupne a zostupne) celých čísel v jazyku Java

' Stream.of() ” metóda sa používa na vytvorenie sekvenčného toku pre dané prvky. V tomto príklade možno túto metódu použiť v kombinácii s „ Stream.sorted() ” metóda na triedenie toku celých čísel vzostupne a zostupne:

verejná trieda triedená {
verejné statické void main ( Reťazec [ ] args ) {
Prúd < Celé číslo > sortStream1 = Prúd ( 2 , 4 , 3 , 5 , 1 ) ;
Prúd < Celé číslo > sortStream2 = Tok ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( 'Prvý stream je:' ) ;
sortStream1.triedený ( ) .pre každý ( System.out::println ) ;
System.out.println ( ' \n Druhý prúd je: ' ) ;
sortStream2.triedený ( ( a, b ) - > b-a ) .pre každý ( System.out::println ) ;
} }

V tomto útržku kódu:

  • Vytvorte dva rôzne celočíselné toky prostredníctvom „ z () “.
  • Potom priraďte „ zoradené () ” s vytvoreným bývalým tokom na zoradenie toku v “ vzostupne ' objednať.
  • Teraz použite „ zoradené () ” znova s ​​druhým tokom, aby sa tok vrátil do “ zostupne “objednajte v súlade s uvedeným porovnávačom, t.j. b-a “.
  • Nakoniec v oboch prípadoch zobrazte na konzole zoradený prúd celých čísel.

Výkon

V tomto výstupe je možné pozorovať, že oba prúdy sú podľa toho zoradené.

Pred prechodom na ďalší príklad zahrňte nižšie uvedený príklad, aby ste získali prístup ku všetkým triedam a metódam:

importovať java.util. * ;

Príklad 2: Aplikácia metódy “Stream.sorted()” na triedenie objektov triedy

V tomto konkrétnom príklade môže byť diskutovaná metóda implementovaná na objektoch triedy na triedenie odovzdaných hodnôt:

trieda Údaje {
int id ;
Názov reťazca;
Údaje ( int id ,Názov reťazca ) {
this.id = id ;
this.name = meno;
}
public String toString ( ) {
vrátiť 'id=' + toto.id
+ ', meno=' + toto.meno;
} }
trieda streamsorted {
public static void main ( Reťazec [ ] args ) {
Zoznam < Údaje > zoznam = nový ArrayList < Údaje > ( ) ;
zoznam.pridať ( nové údaje ( 2 , 'Harry' ) ) ;
zoznam.pridať ( nové údaje ( 1 , 'David' ) ) ;
zoznam.pridať ( nové údaje ( 3 , 'Tom' ) ) ;
Prúd < Údaje > stream = zoznam.stream ( ) ;
prúd.triedený ( ( e1, e2 ) - > e1.id – e2.id ) .pre každý ( System.out::println ) ;
} }

V týchto riadkoch kódu vykonajte nasledujúce kroky:

  • Najprv deklarujte triedu s názvom „ Údaje “.
  • V jeho definícii špecifikujte uvedené premenné.
  • V ďalšom kroku zahrňte parametrizovaný konštruktor triedy s parametrami identickými so špecifikovanými premennými.
  • V definícii konštruktora sa obráťte na zadané premenné a prideľte im odovzdané hodnoty argumentov pomocou „ toto “.
  • Teraz prepíšte „ natiahnuť() ” na vrátenie odovzdaných hodnôt.
  • V ' Hlavná() “, vytvorte zoznam objektov triedy a pridajte uvedené odovzdané hodnoty do zoznamu pomocou pridruženého „ pridať () “.
  • Potom načítajte stream zo zoznamu cez „ Prúd() “.
  • Tiež použite „ zoradené () “ metóda s uvedeným komparátorom, ktorý porovnáva dva objekty na základe „ id “ v “ vzostupne “spôsobom.
  • Nakoniec použite „ pre každý() ” na protokolovanie streamu triedených objektov na konzole.

Výkon

V tomto výsledku je možné analyzovať, že hodnoty objektu sú vhodne zoradené.

Záver

' Stream.sorted() “ je metóda zodpovedajúca „ Prúd ” rozhranie, ktoré poskytuje triedený stream bez ovplyvnenia poradia položiek/prvkov v pôvodnom streame. Táto metóda triedi prvky predvoleným spôsobom, ako aj na základe zadaného komparátora. Tento blog diskutoval o používaní a implementácii metódy „Stream.sorted()“ v jazyku Java.