Rumah  >  Artikel  >  Java  >  Cara menggunakan fungsi Predikat untuk operasi penegasan dalam Java

Cara menggunakan fungsi Predikat untuk operasi penegasan dalam Java

PHPz
PHPzasal
2023-06-26 18:08:081334semak imbas

Sebagai bahasa pengaturcaraan yang digunakan secara meluas, Java menyediakan banyak API praktikal dan kelas alat, termasuk fungsi Predikat. Fungsi Predikat ialah antara muka berfungsi untuk menguji sama ada hujah yang diberikan memenuhi syarat tertentu. Di Java, anda boleh menggunakan fungsi Predikat untuk melaksanakan operasi penegasan seperti menapis dan mengisih pada pengumpulan data, menjadikannya lebih mudah untuk kami memproses data.

Dalam artikel ini, kami akan mendalami cara menggunakan fungsi Predikat untuk operasi penegasan di Jawa.

  1. Pengenalan kepada fungsi Predikat

Di Java, Predikat ialah antara muka berfungsi yang mengembalikan jenis Boolean. Ia mengandungi ujian kaedah abstrak(T t), yang menerima parameter t dan mengembalikan nilai Boolean berdasarkan syarat tertentu. Biasanya, fungsi Predikat boleh digunakan untuk menentukan sama ada data yang diberikan memenuhi syarat tertentu, supaya kita boleh menapis data.

Berikut ialah definisi fungsi Predikat:

@FunctionalInterface
public interface Predicate<T> {
   boolean test(T t);
}
  1. Aplikasi fungsi Predikat

Di Jawa, fungsi Predikat digunakan secara meluas. Kita boleh menggunakan fungsi Predikat untuk melaksanakan operasi penegasan pada pengumpulan data untuk melaksanakan penapisan data, pengisihan dan operasi lain.

Sekarang, katakan kita mempunyai koleksi Senarai yang mengandungi berbilang integer. Kami ingin menapis koleksi ini untuk hanya mengekalkan elemen lebih daripada 10 dan mencetaknya.

Kami boleh menggunakan ungkapan Lambda dan fungsi Predikat dalam Java 8 untuk mencapai fungsi ini, seperti yang ditunjukkan di bawah:

List<Integer> list = new ArrayList<>();
list.add(5);
list.add(10);
list.add(15);
list.add(20);

// 使用Lambda表达式和Predicate函数过滤数据
list.stream().filter(x -> x > 10).forEach(System.out::println);

Dalam kod di atas, kami menggunakan ungkapan Lambda dan fungsi Predikat untuk menapis data. Dengan memanggil kaedah stream(), kita boleh menukar koleksi Senarai kepada Strim dan menggunakan kaedah penapis() untuk menapis elemen. Di sini, kami menggunakan ungkapan Lambda x -> Ia memerlukan integer x dan mengembalikan nilai boolean jika x > 10.

Akhir sekali, kami menggunakan kaedah forEach() untuk mencetak elemen yang ditapis. Menjalankan kod di atas, kita dapat melihat hasil berikut:

15
20

Seperti yang dapat dilihat daripada keputusan di atas, kami berjaya menggunakan fungsi Predikat untuk melaksanakan operasi penegasan pada pengumpulan data dan melaksanakan fungsi penapisan data.

  1. Komposisi fungsi Predikat

Selain operasi penegasan asas, fungsi Predikat juga menyokong operasi kompaun. Fungsi Predikat dalam Java menyokong kaedah seperti dan(), atau() dan negate(), yang boleh digunakan untuk menggabungkan berbilang fungsi Predikat untuk mencapai operasi penegasan yang lebih kompleks.

Sebagai contoh, kita boleh menggunakan kaedah dan() untuk menyambung dua fungsi Predikat untuk mencipta predikat gabungan (predikat) untuk mencapai penapisan berbilang data.

Contoh berikut menunjukkan cara menggunakan kaedah dan() untuk menyambung dua fungsi Predikat untuk menapis elemen yang lebih besar daripada 10 dan kurang daripada 20 dalam set:

List<Integer> list = new ArrayList<>();
list.add(5);
list.add(10);
list.add(15);
list.add(20);

Predicate<Integer> greaterThanTen = x -> x > 10;
Predicate<Integer> lessThanTwenty = x -> x < 20;

// 连接两个Predicate函数,过滤数据
list.stream().filter(greaterThanTen.and(lessThanTwenty)).forEach(System.out::println);

Dalam contoh di atas, kami mula-mula mentakrifkan dua fungsi Predikat yang lebih besarDariSepuluh dan lessThanTwenty, yang masing-masing mewakili keadaan lebih daripada 10 dan kurang daripada 20. Kemudian, kami menggunakan kaedah dan() untuk menyambungkan dua fungsi Predikat untuk mencipta fungsi Predikat baharu. Fungsi ini menerima integer x dan mengembalikan nilai Boolean berdasarkan syarat x >

Akhir sekali, kami menggunakan kaedah penapis() untuk menapis koleksi Senarai, dan menggunakan kaedah forEach() untuk mencetak elemen yang ditapis. Menjalankan kod di atas, kita dapat melihat hasil berikut:

15

Seperti yang dapat dilihat daripada keputusan di atas, kami berjaya menggunakan kaedah dan() untuk menyambungkan dua fungsi Predikat dan melaksanakan pelbagai fungsi penapisan untuk data.

  1. Ringkasan

Di Java, fungsi Predikat ialah antara muka berfungsi yang sangat praktikal. Ia boleh digunakan untuk melaksanakan operasi penegasan pada pengumpulan data, membolehkan kami melaksanakan penapisan data, pengisihan dan operasi lain. Pada masa yang sama, fungsi Predikat juga menyokong operasi kompaun, yang boleh digunakan untuk menggabungkan berbilang fungsi Predikat untuk melaksanakan operasi penegasan yang lebih kompleks.

Secara amnya, fungsi Predikat ialah bahagian penting dalam ciri pengaturcaraan berfungsi dalam Java 8, dan ia layak untuk dikaji dan diaplikasikan dengan teliti dalam kerja pembangunan harian.

Atas ialah kandungan terperinci Cara menggunakan fungsi Predikat untuk operasi penegasan dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn