"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Java 8 में Stream.map() और Stream.flatMap() के बीच मुख्य अंतर क्या है?

Java 8 में Stream.map() और Stream.flatMap() के बीच मुख्य अंतर क्या है?

2024-11-15 को प्रकाशित
ब्राउज़ करें:733

What\'s the Key Difference Between Stream.map() and Stream.flatMap() in Java 8?

Stream.map() बनाम Stream.flatMap() Java 8 में

Stream.map() और Stream.flatMap() जावा 8 में आमतौर पर उपयोग की जाने वाली दो विधियाँ हैं जो मूल्यों की धारा पर समान परिवर्तन करती हैं। हालाँकि, उनके मूल्यों को संसाधित करने और लौटाने के तरीके में बुनियादी अंतर है।

Stream.map()

  • एक फ़ंक्शन स्वीकार करता है सुपर टी, ? R> को एक तर्क के रूप में विस्तारित करता है, जहां T इनपुट प्रकार है और R आउटपुट प्रकार है।
  • इनपुट स्ट्रीम में प्रत्येक तत्व पर दिए गए फ़ंक्शन को लागू करता है।
  • एक नई स्ट्रीम उत्पन्न करता है जिसमें रूपांतरित मान, प्रत्येक एक इनपुट मान के अनुरूप। .flatMap()
एक फ़ंक्शन स्वीकार करता है सुपर टी, ? स्ट्रीम का विस्तार करता है R>> को एक तर्क के रूप में विस्तारित करता है, जो प्रत्येक इनपुट मान के लिए एक स्ट्रीम लौटाता है। एक "चपटा" आउटपुट बनाना। मुख्य अंतर

मानचित्र() और फ़्लैटमैप() के बीच प्राथमिक अंतर यह है कि वे परिवर्तन फ़ंक्शन के परिणामों को कैसे संभालते हैं:

  • map()
  • प्रत्येक इनपुट मान के लिए
  • एक
  • रूपांतरित मान उत्पन्न करता है।
  • flatMap()
प्रत्येक इनपुट मान के लिए

शून्य या अधिक रूपांतरित मान उत्पन्न करता है।

यह भेद परिणामी धारा के आकार और सामग्री को प्रभावित करता है। फ़्लैटमैप() नेस्टेड स्ट्रीम के निर्माण की अनुमति देता है, जबकि मैप() मूल स्ट्रीम की समान आयामीता बनाए रखता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3