Apakah Kaedah Stream.sorted() dalam Java

Apakah Kaedah Stream Sorted Dalam Java



Di Java, mungkin terdapat keadaan tertentu di mana pengaturcara perlu mengisih entri mengikut keperluan. Sebagai contoh, mendapatkan semula nilai yang tidak diisih atau dijana secara rawak dengan cara tertentu (menaik atau menurun). Dalam situasi sedemikian, ' Stream.sorted() ” kaedah membantu mengisih data dengan berkesan di hujung pembangun.

Artikel ini akan menghuraikan menggunakan dan melaksanakan kaedah 'Stream.sorted()' dalam Java.







Apakah Kaedah 'Stream.sorted()' dalam Java?

' Stream.sorted() ' kaedah sepadan dengan ' Strim ” antara muka. Kaedah ini memberikan strim yang diisih tanpa menjejaskan susunan elemen/item dalam strim asal.



Sintaks



Kes 1: Tiada Parameter





aliran.disusun ( )

Kes 2: Dengan Parameter



aliran.disusun ( kompaun )

Dalam sintaks ini, ' kompaun ” merujuk kepada pembanding berdasarkan mana pengisihan akan dilakukan.

Sebelum meneruskan ke contoh, pastikan anda memasukkan pakej berikut. Pakej ini terdiri daripada kelas, antara muka, dsb, untuk membenarkan operasi gaya berfungsi pada elemen:

import java.util.stream. * ;

Contoh 1: Menggunakan Kaedah 'Stream.sorted()' untuk Isih (Naik dan Menurun) Integer dalam Java

' Stream.of() ” kaedah digunakan untuk mencipta aliran berurutan untuk elemen yang diberikan. Dalam contoh ini, kaedah ini boleh digunakan digabungkan dengan ' Stream.sorted() ” kaedah untuk mengisih aliran integer secara menaik dan menurun:

kelas awam disusun {
utama lompang statik awam ( Tali [ ] args ) {
Strim < Integer > sortStream1 = Stream.of ( 2 , 4 , 3 , 5 , 1 ) ;
Strim < Integer > sortStream2 = Stream.of ( 9 , 6 , 7 , 8 , 10 ) ;
System.out.println ( 'Arus pertama ialah:' ) ;
sortStream1.sorted ( ) .untuk setiap ( System.out::println ) ;
System.out.println ( ' \n Aliran kedua ialah: ' ) ;
sortStream2.sorted ( ( a, b ) - > b-a ) .untuk setiap ( System.out::println ) ;
} }

Dalam coretan kod ini:

  • Buat dua aliran integer yang berbeza melalui ' daripada() ” kaedah.
  • Selepas itu, kaitkan “ disusun() ' kaedah dengan bekas strim yang dicipta untuk mengisih strim dalam ' menaik ” pesanan.
  • Sekarang, gunakan ' disusun() ' kaedah sekali lagi dengan aliran terakhir untuk mengembalikan aliran dalam ' menurun ” perintah mengikut pembanding yang ditentukan, iaitu, “ b-a ”.
  • Akhir sekali, paparkan strim integer yang diisih dalam kedua-dua kes pada konsol.

Pengeluaran

Dalam output ini, boleh diperhatikan bahawa kedua-dua aliran diisih sewajarnya.

Sebelum menuju ke contoh seterusnya, sertakan contoh yang disediakan di bawah untuk mengakses semua kelas dan kaedah:

import java.util. * ;

Contoh 2: Menggunakan Kaedah 'Stream.sorted()' untuk Isih Objek Kelas

Dalam contoh khusus ini, kaedah yang dibincangkan boleh dilaksanakan pada objek kelas untuk mengisih nilai yang diluluskan:

Data kelas {
int ID ;
Nama rentetan;
Data ( int ID , Nama rentetan ) {
ini.id = ID ;
ini.nama = nama;
}
String awam keString ( ) {
kembali 'id=' + this.id
+ ', nama=' + nama ini;
} }
kelas disusun {
utama lompang statik awam ( Tali [ ] args ) {
Senaraikan < Data > senarai = ArrayList baharu < Data > ( ) ;
senarai.tambah ( Data baharu ( 2 , 'Harry' ) ) ;
senarai.tambah ( Data baharu ( 1 , 'David' ) ) ;
senarai.tambah ( Data baharu ( 3 , 'Tom' ) ) ;
Strim < Data > strim = senarai.strim ( ) ;
aliran.disusun ( ( e1, e2 ) - > e1.id - e2.id ) .untuk setiap ( System.out::println ) ;
} }

Dalam baris kod ini, lakukan langkah berikut:

  • Pertama, isytiharkan kelas bernama ' Data ”.
  • Dalam definisinya, nyatakan pembolehubah yang dinyatakan.
  • Dalam langkah seterusnya, masukkan pembina kelas berparameter yang mempunyai parameter yang sama dengan pembolehubah yang ditentukan.
  • Dalam definisi pembina, rujuk kepada pembolehubah yang ditentukan, dan peruntukkan mereka nilai hujah yang diluluskan melalui ' ini ”.
  • Sekarang, ganti ' menjalin() ” kaedah untuk mengembalikan nilai yang diluluskan.
  • Di dalam ' utama() ”, buat senarai objek kelas dan tambah nilai lulus yang dinyatakan pada senarai melalui “ yang berkaitan Tambah() ” kaedah.
  • Selepas itu, ambil strim daripada senarai melalui “ aliran() ” kaedah.
  • Juga, gunakan ' disusun() ' kaedah dengan pembanding yang dinyatakan yang membandingkan dua objek berdasarkan ' ID 'dalam' menaik ” cara.
  • Akhir sekali, gunakan ' untuk setiap() ” kaedah untuk log aliran objek yang diisih pada konsol.

Pengeluaran

Dalam hasil ini, ia boleh dianalisis bahawa nilai objek diisih dengan sewajarnya.

Kesimpulan

' Stream.sorted() ' ialah kaedah yang sepadan dengan ' Strim ” antara muka yang memberikan strim diisih tanpa menjejaskan pesanan item/elemen dalam strim asal. Kaedah ini menyusun elemen dalam cara lalai serta berdasarkan pembanding yang ditentukan. Blog ini membincangkan menggunakan dan melaksanakan kaedah 'Stream.sorted()' dalam Java.