सब कुछ आप जावा में स्ट्रीम के बारे में जानना चाहते हैं



यह आलेख आपको जावा में स्ट्रीम करने के लिए हाल ही में जावा में पेश किए गए एक पैकेज से परिचित कराएगा और आप इस पर विस्तृत विवरण दे सकते हैं।

जावा 8 में एक नया अतिरिक्त पैकेज, के रूप में जाना जाता है java.util.stream के लिए जोड़ा गया है उपयोगकर्ताओं को एक कुशल प्रोग्रामिंग अनुभव के लिए। एक धारा को कई तरीकों का समर्थन करते हुए वस्तुओं के अनुक्रम के रूप में परिभाषित किया जा सकता है। इस लेख में हम स्ट्रीम की खोज करेंगे

इस लेख में निम्नलिखित बिंदुओं को शामिल किया जाएगा,





इससे पहले कि हम इस लेख को जावा में स्ट्रीम करें, हम कुछ महत्वपूर्ण विशेषताओं पर एक नजर डालते हैं,

जावा में स्ट्रीम: सुविधाएँ

  • एक धारा एक डेटा संरचना नहीं है और तत्वों को संग्रहीत नहीं करती है। संग्रह, एरेज़ या I / O चैनल वह है जहाँ से यह इनपुट लेता है।
  • इस पर संचालन किए जाने के बाद धारा का स्रोत अप्रमाणित रहता है। उदाहरण के लिए, एक धारा को फ़िल्टर करने से मूल तत्वों को संशोधित करने के बजाय, फ़िल्टर्ड तत्वों के बिना एक नई धारा का उत्पादन होता है।
  • एग्रीगेशन ऑपरेशन जैसे कि फिल्टर, कम करना, मैच करना, ढूंढना आदि स्ट्रीम द्वारा समर्थित हैं।
  • आलस्य को धारा की एक विशेषता के रूप में माना जा सकता है, क्योंकि यह केवल आवश्यक होने पर कोड का मूल्यांकन करता है।
  • धारा में मौजूद तत्वों का दौरा केवल एक जीवनकाल के दौरान ही किया जा सकता है। स्रोत में मौजूद समान तत्वों को फिर से दिखाने के लिए एक नई धारा बनाई जानी चाहिए।

जावा में स्ट्रीम पर इस लेख के साथ आगे बढ़ना



उत्पन्न करने वाली धाराएँ

निम्न विधियों द्वारा धाराएँ उत्पन्न की जा सकती हैं:

  • धारा () - एक अनुक्रमिक धारा वापस आ गई है।संग्रहस्रोत के रूप में माना जाता है।
  • समानांतर धारा () - एक समानांतर धारा वापस आ गई है। संग्रह को स्रोत माना जाता है।
सूची स्ट्रिंग्स = Arrays.asList ('हैलो', '', 'हाय', 'होला', 'बोनजोर', '', 'नमस्ते') फ़िल्टर की गई सूची = strings.stream () फ़िल्टर (स्ट्रिंग)>>। isEmpty ())। लीजिए (कलेक्टर .toList ())

जावा में स्ट्रीम पर इस लेख के साथ आगे बढ़ना

धाराओं पर संचालन:

मध्यवर्ती संचालन:

नक्शा



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

झांकी डेटा सम्मिश्रण छोड़ दिया में शामिल हो
सूची संख्या = Arrays.asList (5,4,4,2,3,3) सूची वर्ग = num.stream () (मानचित्र। (y -> y * y) .distinct ()। लीजिए। (कलेक्टर .toList ())

फ़िल्टर करें

इस पद्धति का उपयोग करके तत्वों को एक मापदंड के आधार पर हटाया जा सकता है।

सूची का नाम = Arrays.asList ('शनिवार', 'रविवार', 'गुरुवार') सूची res = namestream () (फ़िल्टर) (s-> s.startsWith ('S'))। लीजिए (कलेक्टर। एंटालिस्ट) )

हल किया हुआ

इस पद्धति का उपयोग करके धारा को क्रमबद्ध किया जा सकता है।

सूची का नाम = Arrays.asList ('शनिवार', 'रविवार', 'गुरुवार') सूची Res = नाम (.stream) (। सॉर्ट किया गया) (कलेक्टर्स .toList ())

जावा में स्ट्रीम: टर्मिनल ऑपरेशंस:

इकट्ठा करना

एक धारा के तत्वों पर प्रसंस्करण का परिणाम एकत्रित ऑपरेशन का उपयोग करके जोड़ा जा सकता है।

सूची संख्या = Arrays.asList (4,3,2,5,6) सेट Res = num.stream ()। नक्शा (y-> y * y) .collect (संग्राहक.toSet) ()

प्रत्येक के लिए

इस पद्धति का उपयोग धारा में मौजूद प्रत्येक तत्व के माध्यम से पुनरावृत्ति के लिए किया जाता है।

सूची संख्या = Arrays.asList (4,3,2,5) num.stream ()। Map (x-> x * * x) .forEach (y-> System.out.println (y))

कम करना

इस पद्धति का उपयोग करके धारा के तत्वों को एक मूल्य पर कम किया जा सकता है।

सूची संख्या = Arrays.asList (4,3,2,5) int भी = num.stream ()। फ़िल्टर (x-> x% 2 == 0) .reduce (0, (Res, i) -> res + मैं)

वैरिएबल रेस को शुरुआत में मान 0 सौंपा गया है, और मुझे इसमें जोड़ा गया है।

जावा में स्ट्रीम पर इस लेख के साथ आगे बढ़ना

छानने का काम

धारा पद्धति का उपयोग करके कोड को फ़िल्टर किया जा सकता है। निम्नलिखित उदाहरण में, उपकरणों की कीमत फ़िल्टर हो जाती है।

import java.util। * import java.util.stream.Collectors class Instruments {int num स्ट्रिंग नाम फ्लोट प्राइस पब्लिक इंस्ट्रूमेंट (int num, String name, float price) {this.num = num this.name = name this.price = कीमत}} सार्वजनिक वर्ग टेस्ट {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {सूची लिखत सूची = नया एरियर लाईस्ट () // प्रोडक्ट्स इंस्ट्रूमेंट्स लिस्ट जोड़ें। नया (1 इंस्ट्रूमेंट, 1 ​​गिटार, 15000f) इंस्ट्रूमेंट्स लिस्ट.एड (नया) इंस्ट्रूमेंट (2, 'पियानो', 18000f)) InstrumentsList.add (नया इंस्ट्रूमेंट (3, 'बांसुरी', 15000f)) InstrumentsList.add (नया इंस्ट्रूमेंट (4, 'ड्रम', 48000f)) InstrumentsList.add (नया इंस्ट्रूमेंट) 5, 'उकलूले', 32000f)) लिस्ट इंस्ट्रूमेंटप्रिसलिस्ट 2 = इंस्ट्रूमेंट्स लिस्ट.स्ट्रीम () .फिल्टर (p -> p.price> 30000) // डेटा को फ़िल्टर करना। (p-> p.price) // fetching price .collect () कलेक्टर। सूची ()) // सूची के रूप में एकत्रित करना System.out.println (InstrumentPriceList2)}}
 आउटपुट: 

[४000०००.०, ३२०००.०]

जावा में स्ट्रीम पर इस लेख के साथ आगे बढ़ना

Iterating:

जावा में धारा का उपयोग करके गर्भाधान किया जा सकता है।

import java.util.stream। * पब्लिक क्लास टेस्ट {public static void main (स्ट्रिंग [] args) {Stream.iterate (1, element-> एलिमेंट + 1) .filter (एलिमेंट-> एलिमेंट% 4 == 0)। सीमा (6)। प्रत्येक (System.out :: println)}}

आउटपुट:

१२

१६

सूचनात्मक उदाहरण में परिवर्तन देखना

बीस

२४

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

उदाहरण:

import java.util। * import java.util.stream। * पब्लिक क्लास टेस्ट {public static void main (स्ट्रिंग args []) {// पूर्णांक सूची की एक सूची बनाना num = Arrays.asList (6,799,9) ) // मानचित्र विधि का उपयोग कर सूची वर्गों = num.stream ()। नक्शा (y -> y * y)। इकट्ठा (संग्राहक.ल्टलिस्ट ()) सिस्टम.आउट.प्रिंटल (वर्ग) // स्ट्रिंग लिस्ट के दिनों की एक सूची बनाना = Arrays.asList ('फ्राइडे', 'सैटरडे', 'संडे') '' // फिल्टर मेथड लिस्ट रेस डेज '' .Ststream ()। फ़िल्टर (s-> s.startsWith ('S'))। इकट्ठा (संग्राहक.ल्टलिस्ट ()) सिस्टम.आउट.प्रिंटएल (रेस) // सॉर्ट की गई विधि सूची प्रदर्शन = दिन .स्ट्रीम ()। सॉर्ट किया गया ()। कलेक्टर्स (एंटालिस्ट ()) सिस्टम.आउट.प्रिंटएलएन (डिस्प्ले /)। / पूर्णांक सूची सूची की संख्या बनाना = Arrays.asList (6,9,5,7,1) // कलेक्ट पद्धति सेट सेट sqSet = number.stream ()। map (y-> y * y) .collect लौटाता है। (संग्राहक .toSet ()) System.out.println (sqSet) // forEach विधि संख्याप्रवाह ()। नक्शा (y-> y * y) .forEach (x-> System.out.println (x)) /। / विधि विधि int भी = num.stream ()। फ़िल्टर (x-> x% 2 == 0) .reduce (0, (परिणाम, i) -> परिणाम + i) System.out.println (भी)}}

आउटपुट:

[३६, ४ ९, ६४, 64१]

[शनिवार रविवार]

[शुक्रवार शनिवार रविवार]

[1१, ४ ९, १, ३६, २५]

३६

४ ९

64

81

१४

धाराएं उपयोगकर्ता को प्रभावी ढंग से तत्वों पर संचालन करने में सक्षम बनाती हैं।

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

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।