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

कॉपी बनाए बिना किसी इटरेटर को स्ट्रीम में कैसे बदलें?

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

How to Convert an Iterator to a Stream Without Creating a Copy?

इटरेटर को बिना कॉपी किए स्ट्रीम में कनवर्ट करना

इंटरमीडिएट कॉपी बनाए बिना इटरेटर को सीधे स्ट्रीम में कनवर्ट करना प्रदर्शन कारणों से एक वांछनीय ऑपरेशन है। इस रूपांतरण को प्राप्त करने के लिए यहां दो प्रभावी तरीके हैं:

विधि 1: स्प्लिटरेटर का उपयोग करना

स्प्लिटरेटर वर्ग का उपयोग करके इटरेटर से एक स्प्लिटरेटर बनाएं और इसे आधार के रूप में उपयोग करें स्ट्रीम:

Iterator sourceIterator = Arrays.asList("A", "B", "C").iterator();
Stream targetStream = StreamSupport.stream(
          Spliterators.spliteratorUnknownSize(sourceIterator, Spliterator.ORDERED),
          false);

विधि 2: Iterable का उपयोग करना

लैम्ब्डा एक्सप्रेशन का उपयोग करके Iterator से एक Iterable बनाएं। Iterable एक कार्यात्मक इंटरफ़ेस है, जो इस रूपांतरण को सरल बनाता है:

Iterator sourceIterator = Arrays.asList("A", "B", "C").iterator();

Iterable iterable = () -> sourceIterator;
Stream targetStream = StreamSupport.stream(iterable.spliterator(), false);

दोनों तरीकों में प्रतिलिपि से बचने की कुंजी यह है कि वे StreamSupport क्लास का उपयोग करते हैं, जो आपको सीधे स्ट्रीम बनाने की अनुमति देता है मध्यवर्ती संग्रह हेरफेर के बिना स्प्लिटरेटर या इटरेबल से।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3