Predicate Ne için Kullanılır?
Predicate Aldığı paramatereye göre boolean değer döndürmektedir. Filtreleme ve gruplama gibi operasyonlarda kullanılmaktadır. Lambda ile birlikte kullanırken abstract test metotunu override ederiz.
Predicate Metotları
- test(T t) Lambda ile bu metot override edilir. Parametreye göre boolean sonuç üretmelidir
- and() İki predicate birleştirilme için kullanılır mantıksal ve ile aynı anlama gelmektedir.
- or() İki predicate birleştirilmek için kullanılır mantıksal veya ile aynı anlama gelmektedir.
- negate() Predicate’in ürettiği sonuçun tersini üreten predicate verir, mantıksal not ile aynı anlama gelmektedir.
Predicate Örnekleri
Predicate<Integer> cift = (x)->x%2 ==0; System.out.println(cift.test(10)); Predicate<String> dIleMiBasliyor = (x)->x.startsWith("d"); Predicate<String> nIleMiBitiyor = (x)->x.endsWith("n"); Predicate<String> dileBaslayipNIleBiten = dIleMiBasliyor.and(nIleMiBitiyor); System.out.println(dileBaslayipNIleBiten.test("dogukan")); Predicate<String> dileBaslamasin = dIleMiBasliyor.negate(); Predicate<String> d_ile_baslasin_veya_n_ile_bitsin = dIleMiBasliyor.or(nIleMiBitiyor);
Predicate Çelitleri
- BiPredicate : İki paremetre alarak boolean değer üretir.
- DoublePredicate: Double tipinde parametre alarak sonuç üretir.
- IntPredicate: Integer tipinde parametre alarak sonuç üretir.
- LongPredicate: Long tipinde parametre alarak sonuç üretir.