দইদুইই এক আর্গুমেন্ট নেয়, কিন্তু রিটার্ন টাইপ এবং ব্যবহার ভিন্ন।
| ক্র. নং | বিষয় | Function | Predicate |
|---|---|---|---|
| ১ | টাইপ প্যারামিটার | দুই (Input T, Output R) | এক (Input T) |
| ২ | রিটার্ন টাইপ | যেকোনো টাইপ R | শুধু boolean |
| ৩ | অবস্ট্রাক্ট মেথড | R apply(T t) | boolean test(T t) |
| ৪ | ব্যবহার | ট্রান্সফরমেশন, ম্যাপিং | কন্ডিশন চেক, ফিল্টারিং |
Predicate উদাহরণ
Listnums = Arrays.asList(5, 10); Predicate gt5 = i -> i > 5; nums.stream().filter(gt5).forEach(System.out::println); // 10
Function উদাহরণ
Listnums = Arrays.asList(78, 10); Function half = i -> i / 2; nums.stream().map(half).forEach(System.out::println); // 39, 5