Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java 8 में Function और Predicate के बीच अंतर

परिचय

Function और Predicate दोनों फंक्शनल इंटरफेस हैं जिन्हें Java 8 में Java में फंक्शनल प्रोग्रामिंग को लागू करने के लिए पेश किया गया था।

Function इंटरफेस का उपयोग ट्रांसफॉर्मेशन करने के लिए किया जाता है। यह एक आर्गुमेंट स्वीकार कर सकता है और एक परिणाम उत्पन्न करता है। दूसरी ओर, Predicate भी केवल एक आर्गुमेंट स्वीकार कर सकता है लेकिन यह केवल बूलियन मान वापस कर सकता है। इसका उपयोग शर्त का परीक्षण करने के लिए किया जाता है।

क्र. सं.मुख्य बिंदुFunctionPredicate
1बुनियादीयह 2 टाइप पैरामीटर ले सकता है। पहला इनपुट टाइप आर्गुमेंट टाइप को दर्शाता है और दूसरा रिटर्न टाइप को दर्शाता है।यह एक टाइप पैरामीटर ले सकता है जो इनपुट टाइप या आर्गुमेंट टाइप को दर्शाता है।
2रिटर्न टाइपयह किसी भी प्रकार का मान वापस कर सकता है।यह केवल बूलियन मान वापस कर सकता है
3मेथडइसमें apply() एब्सट्रैक्ट मेथड है।इसमें test() एब्सट्रैक्ट मेथड है।
4उपयोग का मामलाइसका उपयोग सशर्त जांच को लागू करने के लिए किया जा सकता हैइसका उपयोग ट्रांसफॉर्मेशन और मान वापस करने के लिए किया जा सकता है।

Predicate का उदाहरण

public class Main {
    public static void main(String args[]) {
        List numList = new ArrayList<>();
        numList.add(5);
        numList.add(10);
        Predicate pred = i -> i > 5;
        numList.stream().filter(pred).forEach(i -> System.out.println(i));
    }
}

Function का उदाहरण

public class Main {
    public static void main(String args[]) {
        List numList = new ArrayList<>();
        numList.add(78);
        numList.add(10);
        Function fun = i -> i / 2;
        numList.stream().map(fun).forEach(System.out::println);
    }
}
  1. - जावा में Serialization और Externalization के बीच अंतर

    Serialization और Externalization दोनों ऑब्जेक्ट को बाइट स्ट्रीम में बदलने और बाइट स्ट्रीम को डेटाबेस या मेमोरी में स्टोर करने की प्रक्रियाएं हैं। जो क्लास java.io.Serializable इंटरफेस को इम्प्लीमेंट करती है उसे सीरियलाइज किया जा सकता है। दूसरी ओर, Externalization एप्लिकेशन में आवश्यकता के आधार पर कस

  1. - जावा में Iterator और Enumeration के बीच अंतर

    Iterator और Enumeration दोनों कलेक्शन से एलिमेंट्स को ट्रैवर्स और एक्सेस करने के लिए कर्सर हैं। वे दोनों कलेक्शन फ्रेमवर्क से संबंधित हैं। Enumeration JDK 1.0 में जोड़ा गया था और Iterator JDK 1.2 वर्जन में कलेक्शन फ्रेमवर्क में जोड़ा गया। Enumeration कलेक्शन में स्ट्रक्चरल चेंज नहीं कर सकता क्योंकि

  1. - Java में ArrayList और HashSet के बीच अंतर

    HashSet और ArrayList दोनों Java कलेक्शन फ्रेमवर्क के सबसे महत्वपूर्ण क्लासेस में से कुछ हैं।ArrayList और HashSet के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।क्रमांकमुख्य बिंदुArrayListHashSet1कार्यान्वयनArrayList लिस्ट इंटरफेस का कार्यान्वयन है।दूसरी ओर HashSet सेट इंटरफेस का कार्यान्वयन है।2आंतरिक कार्या