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

जावा में लैम्ब्डा एक्सप्रेशंस:एक गाइड

जावा में लैम्ब्डा एक्सप्रेशन का उपयोग कैसे करें

क्या आपने कभी सोचा है कि कुछ विधियाँ एक पंक्ति में फिट हो सकती हैं, यदि केवल यह क्रिया जावा सिंटैक्स के लिए नहीं होती जिसका उपयोग आपको किसी विधि को घोषित करने के लिए करना होता है? केवल तुम ही नहीं हो।

प्रोग्रामिंग में तरीके एक अविश्वसनीय रूप से उपयोगी विशेषता हैं।

एक विधि कोड का एक ब्लॉक है जो आपके प्रोग्राम में कुछ विशिष्ट करता है। उनका उपयोग इसलिए किया जाता है क्योंकि एक बार जब आप किसी विधि को परिभाषित कर लेते हैं, तो आप उसे कई बार कॉल कर सकते हैं। यह आपके कोड में अतिरेक को कम करने में मदद करता है, जो बदले में आपके कोड को बनाए रखना आसान बनाता है।

इस गाइड में, हम जावा में लैम्ब्डा एक्सप्रेशन के बारे में बात करने जा रहे हैं। ये एक विशेष प्रकार की विधि है जिसका उपयोग आप लैम्ब्डा एक्सप्रेशन कहलाते हैं, जो एक कार्यात्मक इंटरफ़ेस को लागू करता है। हम इस बारे में बात करेंगे कि वे कैसे काम करते हैं और उनका उपयोग क्यों किया जाता है।

कार्यात्मक इंटरफ़ेस क्या है?

लैम्ब्डा अभिव्यक्तियों के बारे में बात करने से पहले, आपको कार्यात्मक इंटरफेस को समझना होगा। ये ऐसे इंटरफेस हैं जिनमें केवल एक सार विधि होती है। एक कार्यात्मक इंटरफ़ेस में निहित एक सार विधि इंटरफ़ेस के उद्देश्य को बताती है।

इस उदाहरण पर विचार करें:

इंटरफ़ेस कैलकुलेट थ्री { डबल गुणा_बाय_थ्री (स्ट्रिंग डे);}

हमने एक इंटरफ़ेस बनाया है जिसे कैलकुलेट थ्री कहा जाता है। इस इंटरफ़ेस में केवल एक विधि है, multiply_by_three , जिसका अर्थ है कि यह एक कार्यात्मक इंटरफ़ेस है।

जावा लैम्ब्डा एक्सप्रेशन क्या है?

लैम्ब्डा एक्सप्रेशन एक अनाम विधि है। इसका उपयोग एक ऐसी विधि को लागू करने के लिए किया जाता है जिसे एक कार्यात्मक इंटरफ़ेस के भीतर परिभाषित किया गया है। लैम्ब्डा अभिव्यक्तियों को कभी-कभी अनाम तरीके कहा जाता है क्योंकि उनका कोई नाम नहीं है।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

लैम्ब्डा एक्सप्रेशन एरो ऑपरेटर का उपयोग करते हैं, जो उन्हें दो खंडों में विभाजित करता है:

(पैरामीटर सूची) -> लैम्ब्डा बॉडी

बाईं ओर वे पैरामीटर हैं जो व्यंजक उपयोग करते हैं; दाईं ओर वह कोड होता है जो लैम्ब्डा एक्सप्रेशन निष्पादित होने पर चलाया जाएगा। लैम्ब्डा फ़ंक्शन एकल पैरामीटर या एकाधिक पैरामीटर स्वीकार कर सकते हैं।

लैम्ब्डा एक्सप्रेशन का उपयोग कैसे करें

आइए एक प्रोग्राम बनाएं जो उपयोगकर्ता द्वारा डाली गई संख्या को लेता है और इसे तीन से गुणा करता है। हम उस कोड को लिखकर शुरू करेंगे जो किसी उपयोगकर्ता से नंबर स्वीकार करता है:

आयात करें System.out.println ("तीन से गुणा करने के लिए एक संख्या डालें:"); डबल user_number =user_input.nextDouble (); }}

जब हम इस कोड को चलाते हैं, तो हमारे उपयोगकर्ता को गुणा करने के लिए एक संख्या डालने के लिए कहा जाएगा। हमारा प्रोग्राम उस नंबर को वेरिएबल “user_number” में पढ़ेगा। जावा स्कैनर पर हमारे ट्यूटोरियल को पढ़कर आप इस बारे में अधिक जान सकते हैं कि स्कैनर वर्ग कैसे काम करता है।

इसके बाद, हम संख्या को तीन से गुणा करने के लिए लैम्ब्डा एक्सप्रेशन को परिभाषित करने जा रहे हैं। अपने main . के ऊपर निम्न कोड पेस्ट करें विधि:

इंटरफ़ेस कैलकुलेट थ्री { डबल गुणा_बाय_थ्री (डबल नंबर); } 

यह कोड उस इंटरफ़ेस को परिभाषित करता है जिससे हमारा लैम्ब्डा एक्सप्रेशन संदर्भित होगा। फिर कक्षा में मुख्य विधि के नीचे निम्न कोड जोड़ें:

गणना तीन गुणा =(संख्या) -> संख्या * 3; दोहरा उत्तर =गुणा करें। गुणा_बी_तीन (उपयोगकर्ता_नंबर); System.out.println (user_number + "तीन से गुणा करने पर" + उत्तर होता है);

हमने "गुणा" नामक एक चर घोषित करने के लिए कैलकुलेट थ्री इंटरफ़ेस का उपयोग किया है। यह हमारे लैम्ब्डा एक्सप्रेशन के लिए कोड को स्टोर करता है। लैम्ब्डा एक्सप्रेशन multiply_by_three . के साथ जुड़ा हुआ है हमारे कैलकुलेट थ्री इंटरफ़ेस में क्योंकि multiply_by_three इंटरफ़ेस में एकमात्र कार्य है।

फिर हमने इस फ़ंक्शन को कॉल करने के लिए डॉट नोटेशन का उपयोग किया है:

multiply.multiply_by_three(user_number);

डॉट नोटेशन वह जगह है जहां आप उस वर्ग या इंटरफ़ेस का नाम निर्दिष्ट करते हैं जिसे आप संदर्भित करना चाहते हैं, उसके बाद एक बिंदु, फिर उस विधि का नाम जिसे आप एक्सेस करना चाहते हैं। इस मामले में, हम multiply_by_three . तक पहुंचना चाहते हैं "गुणा" इंटरफ़ेस के अंदर विधि।

हमारा अंतिम कोड इस तरह दिखता है:

आयात करें System.out.println ("तीन से गुणा करने के लिए एक संख्या डालें:"); डबल user_number =user_input.nextDouble (); गणना तीन गुणा =(संख्या) -> संख्या * 3; दोहरा उत्तर =गुणा करें। गुणा_बी_थ्री (उपयोगकर्ता_नंबर); System.out.println(user_number + "तीन से गुणा किया जाता है" + उत्तर); }}

चलिए अपना कोड चलाते हैं और गुणा करने के लिए 3 नंबर डालें:

तीन से गुणा करने के लिए एक संख्या डालें:33.0 को तीन से गुणा करने पर 9.0 होता है

हमारे कोड ने हमारे द्वारा डाली गई संख्या को 3 से सफलतापूर्वक गुणा कर दिया है। यह क्रिया लैम्ब्डा एक्सप्रेशन का उपयोग करके की गई थी जिसे हमने परिभाषित किया था।

ब्लॉक लैम्ब्डा एक्सप्रेशन का उपयोग कैसे करें

लैम्ब्डा एक्सप्रेशन दो रूपों में प्रकट हो सकते हैं:सिंगल एक्सप्रेशन का उपयोग करना, या ब्लॉक का उपयोग करना। ब्लॉक लैम्ब्डा सिंटैक्स का उपयोग तब किया जाता है जब तीर के दायीं ओर का कोड कई लाइनें लेगा।

ब्लॉक सिंटैक्स वह जगह है जहां आप लैम्ब्डा एक्सप्रेशन के दाईं ओर कोड को घुंघराले ब्रेसिज़ ({}) से घेरते हैं।

इस उदाहरण पर विचार करें:

इंटरफ़ेस GreetUser {स्ट्रिंग स्वागत_यूज़र (स्ट्रिंग नाम);} क्लास मेन {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग आर्ग्स []) {ग्रीटयूज़र सेंड_ग्रीटिंग =(नाम) -> {System.out.println ("गुड मॉर्निंग!"); System.out.println ("आपका स्वागत है," + नाम); }; System.out.println (send_greeting.welcome_user ("ब्रैड")); }} 

हमने एक लैम्ब्डा एक्सप्रेशन घोषित किया है जिसे send_greeting . कहा जाता है . यह अभिव्यक्ति इंटरफ़ेस GreetUser को संदर्भित करती है जिसे हमने अपने कार्यक्रम की शुरुआत में परिभाषित किया था। हमारी लैम्ब्डा अभिव्यक्ति दो क्रियाएं करती है। यह:

  • प्रिंट "गुड मॉर्निंग!" कंसोल के लिए
  • कंसोल पर "वेलकम", उसके बाद उपयोगकर्ता का नाम प्रिंट करता है

चूंकि यह कोड की दो पंक्तियों को लेता है, इसलिए हमने ब्लॉक सिंटैक्स का उपयोग किया है। हमारे लैम्ब्डा एक्सप्रेशन के दाईं ओर कोड कर्ली ब्रेसिज़ के भीतर संलग्न है।

निष्कर्ष

लैम्ब्डा एक्सप्रेशन अनाम विधियाँ हैं जो एक कार्यात्मक इंटरफ़ेस को लागू करती हैं। इन कार्यों को कभी-कभी अनाम वर्ग या फ़ंक्शन कहा जाता है क्योंकि उनका कोई नाम नहीं होता है और वे स्वयं निष्पादित नहीं होते हैं।

क्या आप एक चुनौती के लिए तैयार हैं? एक लैम्ब्डा व्यंजक लिखें जो यह जाँचता है कि कोई संख्या सम है या नहीं। यदि ऐसा है, तो कंसोल पर "एक्स सम है" मुद्रित किया जाना चाहिए, जहां एक्स परीक्षण की जा रही संख्या है; अन्यथा, "X विषम है" कंसोल पर मुद्रित होना चाहिए।

अब आप एक विशेषज्ञ की तरह जावा में लैम्ब्डा एक्सप्रेशन के साथ काम करना शुरू करने के लिए तैयार हैं!


  1. जावा कंपाइलर्स:एक चरण-दर-चरण मार्गदर्शिका

    पांच से दस साल पहले, जावा सीखना उतना सुलभ नहीं था जितना अब है। उस समय, आपको एक जावा डेवलपमेंट किट (JDK) डाउनलोड करनी होती थी जिसमें आपकी मशीन पर चलने के लिए कंपाइलर और दुभाषिया होता था। अब हमारे लिए ढेर सारे जावा कम्पाइलर मुफ्त में ऑनलाइन उपलब्ध हैं। इस लेख में, हम इस बारे में थोड़ी बात करेंगे कि जा

  1. जावा 8 में इंटरफ़ेस एन्हांसमेंट

    जावा 8 इंटरफेस में डिफ़ॉल्ट विधि कार्यान्वयन की एक नई अवधारणा पेश करता है। इस क्षमता को पश्चगामी संगतता के लिए जोड़ा जाता है ताकि पुराने इंटरफेस का उपयोग जावा 8 की लैम्ब्डा अभिव्यक्ति क्षमता का लाभ उठाने के लिए किया जा सके। उदाहरण के लिए, सूची या संग्रह इंटरफेस में प्रत्येक के लिए विधि घोषणा नहीं ह

  1. जावा में इंटरफ़ेस

    एक इंटरफ़ेस जावा में एक संदर्भ प्रकार है। यह एक वर्ग के समान है। यह अमूर्त विधियों का एक संग्रह है। एक वर्ग एक इंटरफ़ेस लागू करता है, जिससे इंटरफ़ेस के अमूर्त तरीकों को विरासत में मिलता है। अमूर्त विधियों के साथ, एक इंटरफ़ेस में स्थिरांक, डिफ़ॉल्ट विधियाँ, स्थिर विधियाँ और नेस्टेड प्रकार भी हो सकते