Ce este metoda Stream.sorted() în Java

Ce Este Metoda Stream Sorted In Java



În Java, pot exista anumite situații în care programatorul trebuie să sorteze intrările în conformitate cu cerințele. De exemplu, preluarea valorilor nesortate sau generate aleatoriu într-un mod specific (crescător sau descrescător). În astfel de situații, „ Stream.sorted() ” metoda ajută la sortarea eficientă a datelor la sfârșitul dezvoltatorului.

Acest articol va detalia utilizarea și implementarea metodei „Stream.sorted()” în Java.







Ce este metoda „Stream.sorted()” în Java?

Stream.sorted() ” metoda corespunde cu “ Curent ” interfață. Această metodă oferă un flux sortat fără a afecta ordonarea elementelor/articolelor din fluxul original.



Sintaxă



Cazul 1: Niciun parametru





pârâu.sortat ( )

Cazul 2: Cu Parametru



pârâu.sortat ( comp )

În această sintaxă, „ comp ” se referă la comparatorul pe baza căruia se va face sortarea.

Înainte de a trece la exemple, asigurați-vă că includeți următorul pachet. Acest pachet cuprinde clase, interfețe, etc, pentru a permite operațiuni în stil funcțional asupra elementelor:

import java.util.stream. * ;

Exemplul 1: aplicarea metodei „Stream.sorted()” pentru a sorta (crescător și descrescător) numerele întregi în Java

Stream.of() ” este folosită pentru a crea un flux secvenţial pentru elementele date. În acest exemplu, această metodă poate fi aplicată combinată cu „ Stream.sorted() ” metoda de sortare a fluxului de numere întregi în mod crescător și descendent:

clasa publică sortată {
public static void main ( Şir [ ] argumente ) {
Curent < Întreg > sortStream1 = Flux.of ( 2 , 4 , 3 , 5 , 1 ) ;
Curent < Întreg > sortStream2 = Flux.of ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( 'Primul flux este: ' ) ;
sortStream1.sorted ( ) .pentru fiecare ( System.out::println ) ;
System.out.println ( ' \n Al doilea flux este: ' ) ;
sortStream2.sorted ( ( a, b ) - > b-a ) .pentru fiecare ( System.out::println ) ;
} }

În acest fragment de cod:

  • Creați două fluxuri întregi diferite prin intermediul „ de() ” metoda.
  • După aceea, asociați „ sortat() ” metoda cu fostul flux creat pentru a sorta fluxul în „ ascendent ' Ordin.
  • Acum, aplicați „ sortat() ” metoda din nou cu ultimul flux pentru a returna fluxul în „ Descendentă „Comandă în conformitate cu comparatorul specificat, adică „ b-a ”.
  • În cele din urmă, afișați fluxul de numere întregi sortate în ambele cazuri pe consolă.

Ieșire

În această ieșire, se poate observa că ambele fluxuri sunt sortate corespunzător.

Înainte de a merge la următorul exemplu, includeți exemplul furnizat mai jos pentru a accesa toate clasele și metodele:

import java.util. * ;

Exemplul 2: aplicarea metodei „Stream.sorted()” pentru a sorta obiectele clasei

În acest exemplu particular, metoda discutată poate fi implementată pe obiectele clasei pentru a sorta valorile transmise:

Class Data {
int id ;
Nume șir;
Date ( int id ,Nume șir ) {
aceasta.id = id ;
this.name = nume;
}
public String toString ( ) {
întoarcere 'id=' + aceasta.id
+ ', nume=' + acest.nume;
} }
clasa flux sortat {
public static void main ( Şir [ ] argumente ) {
Listă < Date > list = nou ArrayList < Date > ( ) ;
listă.adăugați ( Date noi ( 2 , 'Harry' ) ) ;
listă.adăugați ( Date noi ( 1 , 'David' ) ) ;
listă.adăugați ( Date noi ( 3 , 'Tom' ) ) ;
Curent < Date > stream = listă.stream ( ) ;
pârâu.sortat ( ( e1, e2 ) - > e1.id - e2.id ) .pentru fiecare ( System.out::println ) ;
} }

În aceste linii de cod, efectuați următorii pași:

  • În primul rând, declarați o clasă numită „ Date ”.
  • În definiția sa, specificați variabilele menționate.
  • În pasul următor, includeți un constructor de clasă parametrizată având parametrii identici cu variabilele specificate.
  • În definiția constructorului, faceți referire la variabilele specificate și alocați-le valorile argumentelor transmise prin „ acest ”.
  • Acum, anulați „ toString() ” pentru a returna valorile transmise.
  • În ' principal() ”, creați o listă a obiectelor clasei și adăugați valorile transmise declarate la listă prin intermediul „ asociat adăuga() ” metoda.
  • După aceea, preluați fluxul din listă prin intermediul „ curent() ” metoda.
  • De asemenea, aplicați „ sortat() ” metoda cu comparatorul declarat care compară două obiecte pe baza ” id „într-un „ ascendent ' manieră.
  • În cele din urmă, aplicați „ pentru fiecare() ” pentru a înregistra fluxul de obiecte sortate pe consolă.

Ieșire

În acest rezultat, se poate analiza că valorile obiectelor sunt sortate corespunzător.

Concluzie

Stream.sorted() ” este metoda corespunzătoare “ Curent ” interfață care oferă un flux sortat fără a afecta ordonarea articolelor/elementelor din fluxul original. Această metodă sortează elementele într-un mod implicit, precum și pe baza comparatorului specificat. Acest blog a discutat despre utilizarea și implementarea metodei „Stream.sorted()” în Java.