Rumah Keuangan Pribadi Menggunakan Streams and Lambda Expressions di Java - dummies

Menggunakan Streams and Lambda Expressions di Java - dummies

Video: Belajar Java Lambda Expression - 5 Menggunakan Lambda Expression 2025

Video: Belajar Java Lambda Expression - 5 Menggunakan Lambda Expression 2025
Anonim

Java memiliki metode mewah yang memanfaatkan aliran sungai dan ekspresi lambda secara optimal. Dengan aliran dan ekspresi lambda, Anda dapat membuat jalur perakitan. Solusi perakitan menggunakan konsep dari pemrograman fungsional.

Jalur perakitan terdiri dari beberapa metode. Setiap metode mengambil data, mengubah data dengan cara tertentu atau lainnya, dan menyerahkan hasilnya ke metode berikutnya. Ini jalur perakitan.

Sebuah rangkaian pemrograman fungsional.

Setiap kotak mewakili sekelompok bahan baku saat ditransformasikan di sepanjang jalur perakitan. Setiap panah mewakili sebuah metode (atau, secara metaforis, seorang pekerja di jalur perakitan).

Misalnya, dalam transisi dari kotak kedua ke kotak ketiga, metode pekerja (metode filter ) menyaring penjualan item yang bukan DVD. Bayangkan Lucy Ricardo berdiri di antara kotak kedua dan ketiga, menghapus setiap buku atau CD dari jalur perakitan dan melemparkannya dengan ceroboh ke lantai.

Parameter untuk metode filter adalah Predikat - sebuah ekspresi lambda yang hasilnya boolean . Metode filter menyaring item yang tidak lulus tes true / false dari tes lambda .

Beberapa Metode Pemrograman Fungsional
Nama Metode Anggota Dari Parameter Jenis Hasil Nilai Hasil
stream Koleksi (misalnya, sebuah ArrayList , object) (none) Stream Aliran yang meludahkan elemen koleksi
filter Streaming Predikat Aliran > Aliran baru yang berisi nilai yang menghasilkan ekspresi lambda true map
Stream Function Stream Aliran baru yang berisi hasil penerapan ekspresi lambda ke arus masuk reduce
Stream BinaryOperator Jenis yang digunakan oleh BinaryOperator Hasil menggabungkan semua nilai di arus masuk
Dalam transisi dari kotak ketiga ke kotak keempat, metode pekerja (metode

map ) menarik harga dari masing-masing penjualan . Dari tempat pekerja itu seterusnya, jalur perakitan hanya berisi nilai harga . Agar lebih tepat, metode Java

map mengambil Function seperti (penjualan) -> penjualan. getPrice ()

dan gunakan

Function untuk setiap nilai dalam sebuah aliran. Jadi metode map mengambil arus masuk penjualan dan membuat arus keluar nilai harga . Dalam peralihan dari kotak keempat ke kotak kelima, metode pekerja (metode

reduce ) menambahkan harga penjualan DVD.Metode mengurangi Java mengambil dua parameter: Parameter pertama adalah nilai awal.

Pada gambar di atas, nilai awalnya adalah

0. 0 . Parameter kedua adalah

BinaryOperator . Pada gambar di atas, mengurangi metode BinaryOperator adalah (price1, price2) -> price1 + price2

Metode

reduce menggunakan BinaryOperator untuk menggabungkan nilai dari aliran masuk. Nilai awal berfungsi sebagai titik awal untuk menggabungkan semua. Jadi, metode reduce melakukan dua penambahan. Metode pengurangan menambahkan dua nilai dari arus masuk.

Sebagai perbandingan, bayangkan metode

mengurangi (10. 0, (value1, value2) -> value1 * value2)

dengan arus yang nilainya termasuk

3. 0 , 2. 0 , dan 5. 0 . Tindakan yang dihasilkan ditunjukkan di bawah Metode perampingan mengalikan nilai dari arus masuk.

Anda mungkin pernah mendengar tentang model pemrograman Google MapReduce. Kesamaan antara nama model pemrograman dan nama metode Java map dan reduce bukanlah sebuah kebetulan. Diambil secara keseluruhan, seluruh perakitan mencantumkan harga DVD yang terjual. Kode di atas berisi program lengkap menggunakan stream dan ekspresi lambda gambar pertama di atas.

impor java teks. NumberFormat;

impor java util. ArrayList;

public class TallySales {

public static void main (String [] args) {

ArrayList

sales = new ArrayList <> (); Mata uang NumberFormat = NumberFormat. getCurrencyInstance ();

isiTheList (penjualan);

total ganda = penjualan. stream ()

. filter ((penjualan) -> penjualan. getItem () sama dengan ("DVD"))

. peta ((penjualan) -> penjualan getPrice ())

. kurangi (0, 0, (price1, price2) -> price1 + price2);

Sistem di luar. println (format mata uang (total));

}

pengisian void statik statisTotal (ArrayList

) { penjualan. tambahkan (Penjualan baru ("DVD", 15. 00));

penjualan. tambahkan (Penjualan baru ("Buku", 12. 00));

penjualan. tambahkan (Penjualan baru ("DVD", 21. 00));

penjualan. tambahkan (New Sale ("CD", 5. 25));

}

}

Kode ini membutuhkan Java 8 atau yang lebih baru. Jika IDE Anda disetel untuk versi Java sebelumnya, Anda mungkin harus bermain-main dengan pengaturan IDE. Anda bahkan mungkin harus mendownload versi Java yang lebih baru.

Bentuk huruf tebal adalah satu pernyataan tugas besar di Jawa. Sisi kanan dari pernyataan berisi urutan pemanggilan metode. Setiap pemanggilan metode mengembalikan sebuah objek, dan setiap objek tersebut adalah objek sebelum titik di pemanggilan metode berikutnya. Begitulah cara Anda membentuk jalur perakitan.

Misalnya, di dekat kode tebal, nama

penjualan mengacu pada objek ArrayList . Setiap objek ArrayList memiliki metode stream . Pada kode diatas, penjualan. stream () adalah panggilan untuk metode ArrayList objek stream . Metode aliran mengembalikan sebuah instance kelas Java

Stream . (Sungguh kejutan!) Jadi penjualan. stream () mengacu pada objek Stream . Mendapatkan semua penjualan DVD.

Objek setiap

Stream memiliki metode filter . Jadi penjualan. aliran(). Filter> ((penjualan) -> penjualan getItem () sama dengan ("DVD"))

adalah panggilan ke metode

⁣Stream objek filter . Pola berlanjut. Metode

Stream object's map mengembalikan objek Stream objek - a Stream yang berisi harga. Mendapatkan harga dari setiap penjualan DVD.

Untuk itu

Stream harga yang Anda terapkan metode reduce , yang menghasilkan nilai satu double - jumlah harga DVD. Mendapatkan harga total semua penjualan DVD.

Menggunakan Streams and Lambda Expressions di Java - dummies

Pilihan Editor

Bagaimana Mengelola Komentar di WordPress Anda. com Blog - dummies

Bagaimana Mengelola Komentar di WordPress Anda. com Blog - dummies

Buka halaman Komentar dengan mengklik link Komentar di menu navigasi Dashboard WordPress. Halaman Komentar menunjukkan semua komentar di blog Anda sejak hari pertama Anda memulai. Di sini Anda bisa melihat komentar, mengeditnya, menandai mereka sebagai spam, atau flat-out menghapusnya. Jika Anda menetapkan pilihan Komentar Anda jadi ...

Bagaimana Mengelola Pengguna dan Penulis di Blog WordPress Anda - dummies

Bagaimana Mengelola Pengguna dan Penulis di Blog WordPress Anda - dummies

Pengguna WordPress halaman memberitahu Anda tentang semua pengguna di blog Anda. Ini mencantumkan nama pengguna, nama, alamat e-mail, peran di blog Anda, dan jumlah posting yang dibuat ke blog Anda. Untuk mengelola peran pengguna, Anda perlu memahami jenis akses yang diberikan masing-masing peran: Pengikut: Peran default ini ditugaskan untuk ...

Cara Membuat Permalinks WordPress Bekerja dengan Server Anda - dummies

Cara Membuat Permalinks WordPress Bekerja dengan Server Anda - dummies

Setelah Anda mengatur format untuk permalinks untuk situs WordPress Anda dengan menggunakan opsi selain default, WordPress menulis peraturan, atau arahan tertentu ke. htaccess file di server web anda Itu. htaccess file pada gilirannya mengkomunikasikan ke server web Anda bagaimana seharusnya menyajikan permalinks, sesuai dengan permalink ...

Pilihan Editor

Bagaimana cara Log In ke Layanan Cloud - dummies

Bagaimana cara Log In ke Layanan Cloud - dummies

Karena Cloud Service sepenuhnya berbasis di awan, semua Anda benar-benar Kebutuhan untuk mengaksesnya adalah koneksi internet. (Nah, Anda juga memerlukan nama pengguna dan kata sandi.) Anda dapat masuk dari kantor Anda dan kemudian mengambil tempat Anda tinggalkan di hotel saat bepergian di Tokyo. Salesforce memiliki banyak tindakan pengamanan ...

Bagaimana Bergerak di sekitar MYOB - dummies

Bagaimana Bergerak di sekitar MYOB - dummies

Di MYOB, Anda dapat melangkah maju dan mundur melalui setiap jendela pembelajaran saya. untuk mencintai kunci Tab komputer Anda. Ini jauh lebih mudah dan lebih cepat daripada menggunakan mouse anda. Keystrokes Shortcut Result Shift + Tab Bergerak ke belakang ke kolom sebelumnya Enter atau Tab Bergerak ke depan ke kolom berikutnya Alt + F4 Berhenti dan mengemas Esc Membawa ...

Bagaimana Membuka Kasus untuk Pelanggan di Salesforce. Kasus com - dummies

Bagaimana Membuka Kasus untuk Pelanggan di Salesforce. Kasus com - dummies

Adalah dasar Salesforce. com Layanan Cloud. Mereka adalah titik pusat kontak Anda dan apa yang agen hidup dan hirup setiap hari. Kasus adalah catatan penyelidikan layanan atau dukungan untuk pelanggan yang merinci masalah dan semua informasi yang mengelilinginya, seperti yang ditunjukkan. Kasus ...

Pilihan Editor

Menghitung Persen Tujuan di Excel - dummies

Menghitung Persen Tujuan di Excel - dummies

Ketika seseorang meminta Anda untuk menghitung satu persen Tujuannya, dia hanya mengatakan untuk membandingkan kinerja aktual dengan tujuan yang dinyatakan. Matematika yang terlibat dalam perhitungan ini sederhana: Bagilah tujuannya dengan aktual. Ini memberi Anda nilai persentase yang menunjukkan berapa banyak pencapaian yang telah dicapai. Misalnya, jika ...

Menghitung Persentase Varian di Excel - dummies

Menghitung Persentase Varian di Excel - dummies

Varians adalah indikator perbedaan antara satu angka dengan angka lainnya. Untuk memahami hal ini, bayangkan bahwa Anda menjual 120 widget pada suatu hari, dan keesokan harinya, Anda menjual 150. Perbedaan dalam penjualan sebenarnya sangat mudah dilihat; Anda menjual 30 widget lagi. Mengurangkan 120 widget dari 150 widget memberi ...

Menghitung Persentase Varian dengan Nilai Negatif di Excel - dummies

Menghitung Persentase Varian dengan Nilai Negatif di Excel - dummies

Rumus untuk menghitung varian persen dalam Excel bekerja dengan indah dalam banyak kasus. Namun, bila nilai benchmark adalah nilai negatif, rumusnya akan turun. Misalnya, bayangkan Anda memulai bisnis dan berharap bisa kehilangan tahun pertama. Jadi, Anda memberi anggaran sebesar negatif $ 10.000. Sekarang bayangkan itu ...