जावा में Iterator क्या है और इसका उपयोग कैसे करें?



जावा ब्लॉग में Iterator आपको एक उचित परिचय देगा कि क्या एक पुनरावृत्ति है और कुछ उदाहरणों के साथ जावा में इनका उपयोग कैसे करें

यदि आप एक पर काम कर रहे हैं और कहें कि आप एक अनुक्रम प्रिंट करना चाहते हैं, जहां जावा में Iterator चित्र में आता है। इस तरह आप प्रत्येक और हर पंक्ति के लिए प्रिंट स्टेटमेंट को जोड़े बिना भी अनुक्रम प्राप्त कर सकते हैं। इसलिए, आइएटर के बारे में जानें ।

नीचे ऐसे विषय दिए गए हैं जिन्हें मैं इस मॉड्यूल में शामिल करूंगा:





आएँ शुरू करें!

शुरुआती के लिए मेरा एसक्यूएल ट्यूटोरियल

एक पुनरावृत्ति क्या है?

जावा मुख्य रूप से चार अलग-अलग अभिशापों का समर्थन करता है। वे इस प्रकार हैं:



  • गणना
  • सूत्रधार
  • सूची बनाने वाला
  • फाड़नेवाला

इन जावा कर्सर में से प्रत्येक के कुछ फायदे और कमियां हैं। हम इस लेख में Iterator पर ध्यान केंद्रित करेंगे।

अब, जावा में एक पुनरावृत्ति क्या है?

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



इसे एक यूनिवर्सल पुनरावृत्तिकर्ता भी माना जाता है क्योंकि आप इसे किसी पर भी लागू कर सकते हैं वस्तु। एक Iterator का उपयोग करके, आप पढ़े और हटाए गए दोनों कार्यों को कर सकते हैं। यह एक बेहतर संस्करण है गणना किसी तत्व की हटाने-क्षमता की अतिरिक्त कार्यक्षमता के साथ।

जावा इटरेटर विधियाँ

Java iterator में कुल 4 विधियाँ हैं। आइए उन्हें विस्तार से समझते हैं।

तरीकेविवरण
forEachRemaining (उपभोग)यह प्रत्येक तत्व पर तब तक क्रियाएं करता है जब तक कि सभी तत्वों को संसाधित नहीं किया जाता है। इसके अलावा जब तक एक अपवाद कार्रवाई द्वारा फेंक दिया जाता है।
hasNext ()यह लौटता है एक सही मूल्य अगर पुनरावृत्ति के दौरान तत्वों की एक उच्च संख्या का सामना करना पड़ता है।
अगला()यह लौटता है अगले निर्दिष्ट तत्व पुनरावृत्ति के दौरान।
हटाना()यह तरीका आरवर्तमान तत्व का उत्सर्जन करता है। फेंकता है अवैध यदि कॉल हटाने का प्रयास किया जाता है () जो अगले कॉल से पहले नहीं है ()।
बूलियन hasNext ()यह सही है अगर पुनरावृत्ति में अधिक तत्व हैं।

उदाहरण:

वर्ग विधि {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) ArrayList सूची = नया ArrayList () list.add ('E') list.add ('D') list.add ('U') सूची .add ('R) ') list.add (' E ') list.add (' K ') list.add (' A ') // Iterator सूची को पार करने के लिए Iterator पुनरावृत्ति = list.iterator () System.out.print (' सूची तत्व) : ') जबकि (iterator.hasNext ()) System.out.print (इटेरेटर .next () +' ') System.out.println ()}}

आउटपुट: EDUREKA

आइए जावा में ListIterator पर एक नज़र डालें।

जावा में ListIterator

जावा में क्या करता है?

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

तरीकेविधि और विवरण
शून्य जोड़ (ऑब्जेक्ट obj) तत्व को उस सूची के सामने सम्मिलित करता है जिसे अगले कॉल द्वारा अगले () पर लौटाया जाएगा।
बूलियन hasNext () यदि अगला तत्व है तो सही है। नहीं तो झूठा लौट आता है।
बूलियन के पास स्पष्ट है () अगर कोई पिछला तत्व है तो सही है। नहीं तो झूठा लौट आता है।
ऑब्जेक्ट अगला () अगला तत्व लौटाता है। यदि कोई अगला तत्व नहीं है, तो NoSuchElementException को फेंक दिया जाता है।
इंट नेक्स्टेक्स () अगले तत्व का सूचकांक लौटाता है। यदि अगला तत्व नहीं है, तो सूची का आकार लौटाता है।
पिछले वस्तु () पिछला तत्व लौटाता है। यदि कोई पिछला तत्व नहीं है, तो NoSuchElementException को फेंक दिया जाता है।
int पिछलाIndex () पिछले तत्व का सूचकांक लौटाता है। यदि कोई पिछला तत्व नहीं है, तो -1 देता है।
शून्य हटाना () सूची से वर्तमान तत्व को निकालता है। यदि हटाया () अगले () या पिछले () लागू किया जाता है से पहले कहा जाता है तो एक IllegalStateException फेंक दिया जाता है।
शून्य सेट (ऑब्जेक्ट obj) वर्तमान तत्व को असाइन करता है। यह वह तत्व है जिसे अंतिम रूप से अगले () या पिछले () पर कॉल करके लौटाया जाता है।

उदाहरण:

सार्वजनिक वर्ग सूचियाँ {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {// एक सरणी सूची बनाएं ArrayList al = new ArrayList () // सरणी सूची में तत्वों को जोड़ें al.add ('E') al.add ('D) ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // सामग्री को प्रदर्शित करने के लिए itter का उपयोग करें al System.out.print ('al की मूल सामग्री:') Iterator itr = al.iterator () जबकि (itr.hasNext ()) {ऑब्जेक्ट एलिमेंट = itr.next () System.out.print (एलिमेंट + ') )} System.out.println () // संशोधित किए जा रहे ऑब्जेक्ट्स को संशोधित करें Listterter litr = al.listIterator () जबकि (litr.hasNext ()) {ऑब्जेक्ट एलिमेंट = litr.next () लिटरसेट (एलीमेंट + '+') } System.out.print ('al की संशोधित सामग्री:') itr = al.iterator () जबकि (itr.hasNext ()) {ऑब्जेक्ट एलिमेंट = itr.next () System.out.print (एलिमेंट + ')) } System.out.println () // अब, सूची को पीछे की ओर प्रदर्शित करें System.out.print ('संशोधित सूची पीछे की ओर:') जबकि (litr.hasPrepret ()) {ऑब्जेक्ट एलिमेंट = litr.prepret () System .out। प्रिंट (तत्व + '')} System.out.println ()}}

आउटपुट:

मूलअल की सामग्री:ई डी यू आर ई के ए
संशोधित किया गयाअल की सामग्री:है+डी+यू+आर+है+सेवा मेरे+ ए +
संशोधित किया गयापीछे की ओर सूचीबद्ध करें:सेवा मेरे+सेवा मेरे+है+आर+यू+डी+ और +

डेटा साइंस कोर्स क्या है

अब, आइए जावा में इस पुनरावृत्त इंटरफ़ेस के लाभों और सीमाओं पर एक नज़र डालें।

जावा में Iterator के लाभ

जावा में Iterator के निम्नलिखित फायदे हैं।

  • आप किसी भी संग्रह वर्ग के लिए इन पुनरावृत्तियों का उपयोग कर सकते हैं।
  • Java में Iterator दोनों को सपोर्ट करता है पढ़ो साथ ही साथ हटाना संचालन।
  • यदि आप उपयोग कर रहे हैं पाश के लिए तुम नहीं कर सकते अद्यतन (जोड़ें / निकालें) संग्रह जबकि एक पुनरावृत्ति की मदद से आप आसानी से संग्रह अद्यतन कर सकते हैं।
  • यह संग्रह एपीआई के लिए एक सार्वभौमिक कर्सर है।
  • विधि के नाम बहुत सरल हैं और उपयोग करने में बहुत आसान हैं।

जावा में Iterator की सीमाएँ

जावा में Iterators में निम्नलिखित कमियां हैं:

  • आप केवल दिशा निर्देशन का प्रदर्शन कर सकते हैं, वह है यूनी-डायरेक्शनल इटरेटर।
  • एक नए तत्व का प्रतिस्थापन और जोड़ Iterator द्वारा समर्थित नहीं है।
  • ListIterator सबसे शक्तिशाली पुनरावृत्ति है लेकिन यह केवल List कार्यान्वित वर्गों के लिए लागू है। तो यह एक सार्वभौमिक पुनरावृत्ति नहीं है।
  • जब आप CRUD ऑपरेशन का उपयोग करते हैं, तो यह क्रिएट और अपडेट ऑपरेशंस का समर्थन नहीं करता है।
  • जब आप स्प्लिटरेटर से इसकी तुलना करते हैं, तो यह आपको तत्वों को समानांतर रखने की अनुमति नहीं देता है। इसका मतलब यह केवल अनुक्रमिक चलना का समर्थन करता है।
  • यह डेटा की एक बड़ी मात्रा को पुनरावृत्त करने के लिए बेहतर प्रदर्शन का समर्थन नहीं करता है।

यह हमें इस लेख के अंत में लाता है, जहां हमने जावा में इट्रेटर के बारे में सीखा है। आशा है कि आप इस ट्यूटोरियल में आपके साथ साझा किए गए सभी के साथ स्पष्ट हैं।

यदि आप 'जावा में Iterator' पर इस लेख को प्रासंगिक पाते हैं, तो देखें दुनिया भर में फैले 250,000 से अधिक संतुष्ट शिक्षार्थियों के नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी।

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

यदि आपको कोई प्रश्न आता है, तो बेझिझक 'जावा में इटरेटर' की टिप्पणी अनुभाग में अपने सभी प्रश्न पूछें और हमारी टीम उत्तर देने में प्रसन्न होगी।