जावा में कार्यात्मक प्रोग्रामिंग को लागू करने के लिए जावा 8 में फ़ंक्शन और प्रेडिकेट दोनों कार्यात्मक इंटरफ़ेस पेश किए गए थे।
फ़ंक्शन इंटरफ़ेस का उपयोग परिवर्तन करने के लिए किया जाता है। यह एक तर्क को स्वीकार कर सकता है और परिणाम उत्पन्न कर सकता है। दूसरी ओर, विधेय भी केवल एक तर्क को स्वीकार कर सकता है लेकिन यह केवल बूलियन मान लौटा सकता है। इसका उपयोग स्थिति का परीक्षण करने के लिए किया जाता है।
Sr. नहीं. | कुंजी | फ़ंक्शन | विधेय करें |
---|---|---|---|
1 | मूलभूत | यह 2 प्रकार के पैरामीटर ले सकता है पहला इनपुट प्रकार तर्क प्रकार का प्रतिनिधित्व करता है और दूसरा रिटर्न प्रकार का प्रतिनिधित्व करता है। | यह एक प्रकार का पैरामीटर ले सकता है जो इनपुट प्रकार या तर्क प्रकार का प्रतिनिधित्व करता है। |
2 | वापसी प्रकार | यह किसी भी प्रकार का मान लौटा सकता है। | यह केवल बूलियन मान लौटा सकता है |
3 | विधि | इसमें अमूर्त विधि लागू होती है ()। | इसमें एब्स्ट्रैक्ट मेथड टेस्ट() है। |
4. | केस का प्रयोग करें | इसका उपयोग सशर्त जांच को लागू करने के लिए किया जा सकता है | इसका उपयोग परिवर्तन और वापसी मूल्यों के लिए किया जा सकता है। |
विधेय का उदाहरण
public class Main { public static void main(String args[]) { List<Integer> numList = new ArrayList<>(); numList.add(5); numList.add(10); Predicate<Integer> pred = i -> i > 5; numList.stream().filter(pred).forEach(i -> System.out.println(i)); } }
फ़ंक्शन का उदाहरण
public class Main { public static void main(String args[]) { List<Integer> numList = new ArrayList<>(); numList.add(78); numList.add(10); Function<Integer, Integer> fun = i -> i / 2; numList.stream().map(fun).forEach(System.out::println); } }