Co to jest metoda Stream.sorted() w Javie

Co To Jest Metoda Stream Sorted W Javie



W Javie mogą wystąpić sytuacje, w których programista musi posortować wpisy zgodnie z wymaganiami. Na przykład pobieranie nieposortowanych lub losowo wygenerowanych wartości w określony sposób (rosnąco lub malejąco). W takich sytuacjach „ posortowane strumieniowo() ” pomaga skutecznie sortować dane po stronie dewelopera.

W tym artykule omówimy użycie i implementację metody „Stream.sorted()” w Javie.







Czym jest metoda „Stream.sorted()” w Javie?

posortowane strumieniowo() ” odpowiada metodzie „ Strumień ' interfejs. Ta metoda zapewnia posortowany strumień bez wpływu na kolejność elementów/przedmiotów w oryginalnym strumieniu.



Składnia



Przypadek 1: Brak parametru





strumień.posortowany ( )

Przypadek 2: Z parametrem



strumień.posortowany ( komp )

W tej składni „ komp ” odnosi się do komparatora, na podstawie którego zostanie wykonane sortowanie.

Zanim przejdziesz do przykładów, pamiętaj o dołączeniu następującego pakietu. Ten pakiet zawiera klasy, interfejsy itp., aby umożliwić funkcjonalne operacje na elementach:

zaimportuj java.util.stream. * ;

Przykład 1: Zastosowanie metody „Stream.sorted()” do sortowania (rosnąco i malejąco) liczb całkowitych w Javie

Strumień() ” służy do tworzenia sekwencyjnego strumienia dla danych elementów. W tym przykładzie tę metodę można zastosować w połączeniu z „ posortowane strumieniowo() ” metoda sortowania strumienia liczb całkowitych w sposób rosnący i malejący:

klasa publiczna posortowana {
public static void main ( Strunowy [ ] argumenty ) {
Strumień < Liczba całkowita > sortStream1 = Strumień.of ( 2 , 4 , 3 , 5 , 1 ) ;
Strumień < Liczba całkowita > sortStream2 = Strumień.of ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( „Pierwszy strumień to:” ) ;
sortStream1.sorted ( ) .dla każdego ( System.out::println ) ;
System.out.println ( ' \N Drugi strumień to: „ ) ;
sortStream2.sorted ( ( a, b ) - > b-a ) .dla każdego ( System.out::println ) ;
} }

W tym fragmencie kodu:

  • Utwórz dwa różne strumienie liczb całkowitych za pomocą „ z() ' metoda.
  • Następnie skojarz „ posortowane() ” z utworzonym poprzednim strumieniem, aby posortować strumień w „ rosnąco ' zamówienie.
  • Teraz zastosuj „ posortowane() ” ponownie z tym ostatnim strumieniem, aby zwrócić strumień w „ malejąco ” zamów zgodnie z podanym komparatorem, tj. „ b-a ”.
  • Na koniec wyświetl posortowany strumień liczb całkowitych w obu przypadkach na konsoli.

Wyjście

Na tym wyjściu można zauważyć, że oba strumienie są odpowiednio posortowane.

Zanim przejdziesz do następnego przykładu, dołącz poniższy przykład, aby uzyskać dostęp do wszystkich klas i metod:

zaimportuj java.util. * ;

Przykład 2: Zastosowanie metody „Stream.sorted()” do sortowania obiektów klasy

W tym konkretnym przykładzie omawianą metodę można zaimplementować na obiektach klasy, aby posortować przekazane wartości:

klasa Dane {
int ID ;
Nazwa ciągu;
Dane ( int ID ,Nazwa ciągu ) {
this.id = ID ;
to.nazwa = nazwa;
}
publiczny ciąg do ciągu ( ) {
powrót 'identyfikator=' + this.id
+ ', nazwa=' + to.nazwa;
} }
klasa posortowana strumieniowo {
public static void main ( Strunowy [ ] argumenty ) {
Lista < Dane > lista = nowa lista tablic < Dane > ( ) ;
lista.dodaj ( nowe dane ( 2 , 'Złupić' ) ) ;
lista.dodaj ( nowe dane ( 1 , „Dawid” ) ) ;
lista.dodaj ( nowe dane ( 3 , 'Tomek' ) ) ;
Strumień < Dane > strumień = lista.strumień ( ) ;
strumień.posortowany ( ( e1, e2 ) - > e1.id - e2.id ) .dla każdego ( System.out::println ) ;
} }

W tych wierszach kodu wykonaj następujące kroki:

  • Najpierw zadeklaruj klasę o nazwie „ Dane ”.
  • W jego definicji określ podane zmienne.
  • W kolejnym kroku dołącz sparametryzowany konstruktor klasy mający parametry identyczne z podanymi zmiennymi.
  • W definicji konstruktora odwołaj się do określonych zmiennych i przydziel im przekazane wartości argumentów za pomocą „ Ten ”.
  • Teraz zastąp „ toString() ”, aby zwrócić przekazane wartości.
  • W ' główny() ”, utwórz listę obiektów klasy i dodaj podane przekazane wartości do listy za pomocą powiązanego „ dodać() ' metoda.
  • Następnie pobierz strumień z listy za pomocą „ strumień() ' metoda.
  • Zastosuj również „ posortowane() ” z podanym komparatorem, który porównuje dwa obiekty na podstawie „ ID ” w „ rosnąco sposób.
  • Na koniec zastosuj „ dla każdego() ” do rejestrowania strumienia posortowanych obiektów na konsoli.

Wyjście

W tym wyniku można przeanalizować, czy wartości obiektów są odpowiednio posortowane.

Wniosek

posortowane strumieniowo() ” jest metodą odpowiadającą „ Strumień ”, który daje posortowany strumień bez wpływu na kolejność elementów/elementów w oryginalnym strumieniu. Metoda ta sortuje elementy w sposób domyślny oraz na podstawie podanego komparatora. W tym blogu omówiono użycie i implementację metody „Stream.sorted()” w Javie.