Tìm hiểu về Functional Interface Predicate trong Java

Interface Predicate được sử dụng với mục đích chính là để filter một đối tượng Stream. Sử dụng phương thức filter() với tham số là interface Predicate sẽ giúp chúng ta filter những item trong đối tượng Stream thoả mãn điều kiện nào đó.

Nội dung của interface này như sau:

Là một Functional Interface nên Predicate cũng chỉ có 1 phương thức abstract test() thôi các bạn. Phương thức này có tham số với kiểu dữ liệu generic, sau khi xử lý xong sẽ trả về true hoặc false để thông báo là item có thoã mãn điều kiện filter hay không.

Ví dụ như:

Ở ví dụ trên, các bạn có thể thấy, Java sẽ kiểm tra tất cả các item trong đối tượng Stream xem những item nào start với ký tự K, sau đó sẽ in ra những item đó.

Kết quả:

Tìm hiểu về Functional Interface Predicate trong Java

Trong interface Predicate chúng ta còn có một số phương thức default như and(), or(), negate() với chức năng giống như and-and, or, negative.

Với phương thức and() chúng ta có thể tổng hợp nhiều điều kiện để filter dữ liệu. Ví dụ như:

Kết quả:

Tìm hiểu về Functional Interface Predicate trong Java

Phương thức or() thì chỉ cần thoả điều kiện một trong các điều kiện là được. Ví dụ như:

Kết quả:

Tìm hiểu về Functional Interface Predicate trong Java

Phương thức negate() thì phủ định của điều kiện. Ví dụ như:

Kết quả:

Tìm hiểu về Functional Interface Predicate trong Java

5/5 - (3 bình chọn)

Add Comment