स्ट्रीम एक स्रोत से वस्तुओं के अनुक्रम का प्रतिनिधित्व करता है, जो कुल संचालन का समर्थन करता है। स्ट्रीम की विशेषताएं निम्नलिखित हैं -
-
तत्वों का क्रम - एक धारा क्रमबद्ध तरीके से विशिष्ट प्रकार के तत्वों का एक सेट प्रदान करती है। एक धारा मांग पर तत्व प्राप्त/गणना करती है। यह तत्वों को कभी भी संग्रहीत नहीं करता है।
-
स्रोत - स्ट्रीम इनपुट स्रोत के रूप में संग्रह, सरणी, या I/O संसाधनों को लेता है।
-
कुल संचालन - स्ट्रीम फिल्टर, मैप, लिमिट, रिड्यूस, फाइंड, मैच, आदि जैसे कुल ऑपरेशन को सपोर्ट करता है।
-
पाइपलाइनिंग -ज्यादातर स्ट्रीम ऑपरेशंस स्ट्रीम में ही वापस आ जाती हैं ताकि उनका रिजल्ट पाइपलाइन में डाला जा सके। इन परिचालनों को मध्यवर्ती संचालन कहा जाता है और उनका कार्य इनपुट लेना, उन्हें संसाधित करना और लक्ष्य पर आउटपुट वापस करना है। कलेक्ट () विधि एक टर्मिनल ऑपरेशन है जो आमतौर पर स्ट्रीम के अंत को चिह्नित करने के लिए पाइपलाइनिंग ऑपरेशन के अंत में मौजूद होता है।
-
स्वचालित पुनरावृत्तियां - स्ट्रीम संचालन आंतरिक रूप से प्रदान किए गए स्रोत तत्वों पर पुनरावृत्ति करता है, संग्रह के विपरीत जहां स्पष्ट पुनरावृत्ति की आवश्यकता होती है।
उदाहरण
आइए अब एक उदाहरण देखें -
आयात करें स्ट्रीम <स्ट्रिंग> स्ट्रीम =Stream.of ("25", "10", "15", "20", "25"); संग्रह <स्ट्रिंग> संग्रह =स्ट्रीम। संग्रह (कलेक्टर। टू कोलेक्शन (ट्रीसेट ::नया)); System.out.println ("संग्रह =" + संग्रह); }}आउटपुट
संग्रह =[100, 130, 150, 20, 200, 50, 80]
उदाहरण
अब, जावा स्ट्रीम काउंटिंग () विधि का उपयोग करके स्ट्रीम में तत्वों की संख्या की गणना करें -
आयात करें .of ("केविन", "जोफ्रा", "टॉम", "क्रिस", "लियाम"); // लंबी गिनती गिनें =स्ट्रीम। कलेक्ट (कलेक्टर.काउंटिंग ()); System.out.println ("स्ट्रीम में तत्वों की संख्या =" + गिनती); }}आउटपुट
स्ट्रीम में तत्वों की संख्या =5