java iterator learn use iterators java with examples
इस ट्यूटोरियल में, हम जावा में Iterators के बारे में जानेंगे। हम जावा में Iterator और ListIterator इंटरफेस पर विस्तृत चर्चा करेंगे:
हमने अपने पिछले ट्यूटोरियल में जावा कलेक्शन फ्रेमवर्क और इसके विभिन्न सहायक इंटरफेस और कक्षाओं के बारे में पता लगाया।
जब आपके पास एक संग्रह होता है, तो आप इसके तत्वों को एक्सेस करना चाहते हैं, तत्वों को जोड़ना / हटाना या संसाधित करना चाहते हैं। जावा प्रोग्राम के माध्यम से यह सब प्रसंस्करण करने के लिए, आपको उस संग्रह के माध्यम से पार करने में सक्षम होना चाहिए जिसका आप उपयोग कर रहे हैं। यह वह जगह है जहाँ यह चित्र में आता है।
आप क्या सीखेंगे:
- एक जावा Iterator क्या है?
- निष्कर्ष
एक जावा Iterator क्या है?
जावा में, एक Iterator एक निर्माण है जिसे संग्रह के माध्यम से आगे बढ़ने या स्थानांतरित करने के लिए उपयोग किया जाता है।
Iterator का उपयोग करने के लिए, आपको 'का उपयोग करके itter ऑब्जेक्ट प्राप्त करना होगा पुनरावृत्त () संग्रह इंटरफ़ेस की विधि। जावा इटरेटर एक संग्रह ढांचा इंटरफ़ेस है और 'java.util' पैकेज का एक हिस्सा है। जावा इटरेटर का उपयोग करके आप वस्तुओं के संग्रह के माध्यम से पुनरावृति कर सकते हैं।
Java Iterator इंटरफ़ेस, एन्यूमरेटर की जगह लेता है जो पहले कुछ सरल संग्रह जैसे वैक्टर के माध्यम से कदम रखने के लिए उपयोग किया जाता था।
जावा Iterator और Enumerator के बीच मुख्य अंतर हैं:
- विधि के नामों में उल्लेखनीय सुधार।
- आप उस संग्रह से विधि तत्वों को हटा सकते हैं जिसे एक पुनरावृत्त का उपयोग करके निकाला जा रहा है।
इस ट्यूटोरियल में, हम Iterator इंटरफ़ेस और ListIterator इंटरफ़ेस के विवरण पर चर्चा करेंगे, जो एक द्विदिश इंटरफ़ेस है।
Iterator प्रकार
- गणनाकार
- इटरेटर
- सूची बनाने वाला
एक एन्यूमरेटर शायद ही कभी इस्तेमाल किया जाता है। इसलिए, हमारी ट्यूटोरियल श्रृंखला में, हम Iterator और ListIterator इंटरफेस पर ध्यान केंद्रित करेंगे।
Iterator इंटरफ़ेस जावा में
जावा में Iterator इंटरफ़ेस ut java.util ’पैकेज में संग्रह ढांचे का एक हिस्सा है और एक कर्सर है जिसका उपयोग वस्तुओं के संग्रह के माध्यम से कदम रखने के लिए किया जा सकता है।
Iterator इंटरफ़ेस में निम्नलिखित प्रमुख विशेषताएं हैं:
- Iterator इंटरफ़ेस जावा 1.2 संग्रह ढांचे के बाद से उपलब्ध है।
- यह एक-एक करके वस्तुओं के संग्रह का पता लगाता है।
- लोकप्रिय रूप से 'यूनिवर्सल जावा कर्सर' के रूप में जाना जाता है क्योंकि यह सभी संग्रहों के साथ काम करता है।
- यह इंटरफ़ेस interface रीड ’और’ रिमूव ’ऑपरेशंस को सपोर्ट करता है यानी आप इट्रेटर का उपयोग करके एक पुनरावृत्ति के दौरान किसी तत्व को निकाल सकते हैं।
Iterator इंटरफ़ेस का सामान्य प्रतिनिधित्व नीचे दिया गया है:
इसके बाद, ऊपर सूचीबद्ध Iterator विधियों पर एक नज़र डालते हैं।
Iterator Methods
Iterator इंटरफ़ेस निम्नलिखित विधियों का समर्थन करता है:
(1) अगला ()
प्रोटोटाइप: ई अगला ()
पैरामीटर: कोई पैरामीटर नहीं
वापसी प्रकार: ई -> तत्व
विवरण: संग्रह में अगला तत्व देता है।
यदि पुनरावृत्ति (संग्रह) में अधिक तत्व नहीं हैं, तो यह फेंकता है NoSuchElementException ।
# 2) hasext ()
प्रोटोटाइप: बूलियन hasNext ()
पैरामीटर: शून्य
वापसी प्रकार: true => संग्रह में तत्व हैं।
मिथ्या => अधिक तत्व नहीं
विवरण: फ़ंक्शन hasNext () जाँचता है कि क्या संग्रह में अधिक तत्व हैं जो एक पुनरावृत्ति का उपयोग करके पहुँचा जा रहा है। यदि कोई और तत्व नहीं हैं, तो आप अगली () विधि को नहीं कहते हैं। दूसरे शब्दों में, इस फ़ंक्शन का उपयोग यह तय करने के लिए किया जा सकता है कि क्या अगला () विधि कहा जाना है।
# 3) निकालें ()
प्रोटोटाइप: शून्य निकालें ()
पैरामीटर: शून्य
वापसी प्रकार: शून्य
विवरण: अंतर्निहित संग्रह पर पुनरावृति करने वाले पुनरावृत्ति द्वारा लौटाए गए अंतिम तत्व को निकालता है। निष्कासन () विधि को केवल एक बार अगले () कॉल के लिए कहा जा सकता है।
यदि पुनरावृत्ति ऑपरेशन का समर्थन नहीं करता है, तो यह फेंकता है UnSupportedOperationException । यह फेंकता है अवैध अगर अगली विधि अभी तक नहीं बुलाई गई है।
# 4) forEachRemaining ()
प्रोटोटाइप: शून्य forEachRemaining (उपभोक्ता) super है > कार्रवाई)
पैरामीटर: क्रिया => क्रिया करना
वापसी प्रकार: शून्य
विवरण: संग्रह के शेष तत्वों में से प्रत्येक पर निर्दिष्ट कार्रवाई तब तक करता है जब तक कि सभी तत्व समाप्त नहीं हो जाते हैं या कार्रवाई एक अपवाद को फेंक देती है। कार्रवाई द्वारा फेंके गए अपवाद को कॉल करने वाले के लिए प्रचारित किया जाता है।
यदि कार्रवाई शून्य है, तो यह उठता है शून्य सूचक अपवाद । यह फ़ंक्शन जावा 8 में Iterator इंटरफ़ेस के लिए एक नया अतिरिक्त है।
जावा इटरेटर उदाहरण
आइटर इंटरफेस के उपयोग को प्रदर्शित करने के लिए जावा प्रोग्राम लागू करते हैं। निम्नलिखित कार्यक्रम फूलों का एक ArrayList बनाता है। फिर उसे एरेइलिस्ट के इट्रेटर () पद्धति का उपयोग करके एक इटेरेटर प्राप्त होता है। उसके बाद, प्रत्येक तत्व को प्रदर्शित करने के लिए सूची का पता लगाया जाता है।
import java.util.*; public class Main { public static void main(String() args) { List flowers = new ArrayList(); flowers.add('Rose'); flowers.add('Jasmine'); flowers.add('sunflower'); // Get Iterator IteratorflowersIterator = flowers.iterator(); System.out.println('Contents of ArrayList:'); // Traverse elements using iterator while(flowersIterator.hasNext()){ System.out.print(flowersIterator.next() + ' '); } } }
आउटपुट:
Iterator इंटरफ़ेस की सीमाएँ
- एक तत्व को बदलने या एक नया तत्व जोड़ने के लिए ऑपरेशन इस Iterator के साथ नहीं किया जा सकता है।
- पुनरावृति केवल एक दिशा में यानी आगे की दिशा में आगे बढ़ती है।
- केवल अनुक्रमिक पुनरावृत्ति का समर्थन करता है।
- जब डेटा की बड़ी मात्रा को पुनरावृत्त करना होता है, तो Iterator का प्रदर्शन प्रभावित होता है।
इटरेटर बनामनिष्क्रिय करने योग्य
हालांकि इटरटेबल और इटरेटर ध्वनि समान हैं, वे पूरी तरह से अलग हैं। एक वर्ग जो Iterable इंटरफ़ेस को लागू करता है, वह उस क्लास ऑब्जेक्ट पर पुनरावृति करने की क्षमता प्राप्त करता है जो इट्रेटर इंटरफ़ेस का उपयोग करते हैं।
नीचे दिए गए इन दो इंटरफेस में से कुछ मुख्य अंतर हैं जिनके बारे में आपको अवश्य पता होना चाहिए:
Iterable इंटरफ़ेस | Iterator इंटरफ़ेस |
---|---|
एक संग्रह का प्रतिनिधित्व करता है जिसे फ़ॉरेस्ट लूप का उपयोग करके ट्रेस किया जा सकता है। | कुछ अन्य संग्रह पर पुनरावृति करने की अनुमति देता है। |
जो वर्ग पुनरावृत्त इंटरफ़ेस को लागू करता है, उसे पुनरावृत्ति () विधि को ओवरराइड करना पड़ता है। | hasNext () और next () Iterator इंटरफ़ेस के तरीके इसे लागू करने वाले वर्ग द्वारा ओवरराइड किए जाते हैं। |
वर्तमान स्थिति को संग्रहीत नहीं करता है। | पुनरावृत्ति की वर्तमान स्थिति को संग्रहीत करता है। |
हर बार पुनरावृत्तार () विधि कहा जाता है। | पुनरावृत्ति इंटरफ़ेस के लिए ऐसा कोई अनुबंध नहीं। |
आगे की दिशा में ही चलती है। | आगे की दिशा में आगे बढ़ता है और सूची-उपकेंद्र जैसे सब-वेनफेस द्विदिश ट्रैवर्सिंग का समर्थन करता है। |
पुनरावृत्ति के दौरान तत्वों को संशोधित करने के लिए कोई विधि प्रदान नहीं करता है। | हटाने की विधि प्रदान करता है जो पुनरावृत्ति होने पर तत्व को हटा सकता है। |
जावा में ListIterator इंटरफ़ेस
इंटरफ़ेस लिस्ट इटरेटर इटरेटर इंटरफ़ेस का एक उप-संस्करण है। यह सूची प्रकार संग्रह जैसे लिंक्डलिस्ट, सरणी सूची, आदि पर काम करता है। इस प्रकार यह इंटरफ़ेस Iterator इंटरफ़ेस की कमियों को दूर करता है।
ListIterator इंटरफ़ेस की मुख्य विशेषताओं में शामिल हैं:
- ListIterator इंटरफ़ेस Iterator इंटरफ़ेस का विस्तार करता है।
- ListIterator इंटरफ़ेस CRUD संचालन का समर्थन करता है यानी क्रिएट, रीड, अपडेट और डिलीट।
- आगे और साथ ही पिछड़ी दिशा में पुनरावृत्ति का समर्थन करता है।
- जैसा कि यह इंटरफ़ेस द्विदिश है, कर्सर हमेशा पिछले और अगले तत्वों के बीच स्थित होता है।
- यह इंटरफ़ेस मुख्य रूप से ArrayList, LinkedList इत्यादि की सूची कार्यान्वयन के लिए काम करता है।
- जावा 1.2 के बाद से उपलब्ध है
इंटरफ़ेस सूचीकर्ता को नीचे दिखाए अनुसार दर्शाया गया है:
जैसा कि पहले ही उल्लेख किया गया है, लिस्टइंटरेटर इंटरफ़ेस Iterator इंटरफ़ेस का विस्तार करता है। इस प्रकार, सूची के इंटरफ़ेस के सभी तरीकों का समर्थन करने के अलावा, जैसा कि लिस्टइंटरेटर इंटरफ़ेस के ऊपर दर्शाया गया है, इसके स्वयं के तरीके भी हैं जो CRUD संचालन के साथ-साथ द्विदिशीय पुनरावृत्ति करने में मदद करते हैं।
आइए ListIterator के तरीकों के बारे में विस्तार से चर्चा करें।
ListIterator विधियाँ
ध्यान दें कि Iterator इंटरफ़ेस मेथड, अगला (), hasNext () और remove () ठीक उसी तरह काम करता है, जिस तरह से ListIterator इंटरफ़ेस। इसलिए, हम इस अनुभाग में इन विधियों को छोड़ देंगे। उपर्युक्त विधियों के अलावा, ListIterator के निम्नलिखित तरीके हैं-
पहले का()
प्रोटोटाइप: ई पिछला ()
पैरामीटर: शून्य
वापसी प्रकार:
ई- सूची में पिछले तत्व।
- 1 - यदि पुनरावृत्त सूची की शुरुआत में है।
विवरण: यह फ़ंक्शन सूची में पिछले तत्व को लौटाता है। एक बार पिछला तत्व वापस आने के बाद, कर्सर को अगले तत्व की ओर पीछे ले जाया जाता है।
हैप्रोजेक्ट ()
प्रोटोटाइप: बूलियन के पास स्पष्ट है ()
पैरामीटर: शून्य
वापसी प्रकार: यह सच है कि सूची में पिछड़े होने पर इट्रेटर में अधिक तत्व होते हैं।
विवरण: यह कार्य जाँचता है कि सूची सूची में पिछड़े दिशा में अधिक तत्व हैं या नहीं।
पिछला शीर्ष
प्रोटोटाइप: int पिछलाIndex ()
पैरामीटर: शून्य
वापसी प्रकार:
int - पिछले तत्व का सूचकांक
- 1 - यदि सूचक सूची की शुरुआत में है।
विवरण: पिछले तत्व का सूचकांक लौटाता है जो पिछले () कॉल द्वारा वापस किया जाता है।
अगला
प्रोटोटाइप: int अगलाअंडे ()
पैरामीटर: शून्य
वापसी प्रकार:
int - अगला सूचकांक
- 1 - यदि पुनरावृत्त सूची के अंत में है।
विवरण: सूची में तत्व का अगला सूचकांक लौटाता है। इस तत्व को अगली () विधि से कॉल करके लौटाया जाता है।
सेट()
प्रोटोटाइप: शून्य सेट (ई और)
पैरामीटर: ई - तत्व को प्रतिस्थापित किया जाना है
वापसी प्रकार: शून्य
विवरण: दिए गए तत्व ई के साथ अंतिम तत्व को बदलने के लिए उपयोग किया जाता है।
जोड़ें ()
प्रोटोटाइप: शून्य जोड़ (E e)
पैरामीटर: ई - तत्व जोड़ा जाना है
वापसी प्रकार: शून्य
विवरण: सूची में अगले () तत्व से पहले नए तत्वों को सूची में जोड़ता है।
सूची Iterator उदाहरण
अब, हम जानते हैं कि सूची सूची क्या है और इसके द्वारा समर्थित विभिन्न विधियाँ क्या हैं। लिस्ट को आगे बढ़ाएं और लिस्टआईटर को प्रदर्शित करने के लिए जावा प्रोग्राम लागू करें।
इस कार्यक्रम में, हमने ArrayList का उपयोग किया है। फिर हम सूची को आगे और साथ ही पीछे की दिशा में सूचीबद्ध करने और आउटपुट प्रदर्शित करने के लिए लिस्टाइटर विधियों का उपयोग करते हैं।
import java.util.*; class Main { public static void main(String args()) { Listnum_list = new ArrayList(); // Add Elements to ArrayList num_list.add(1); num_list.add(3); num_list.add(5); num_list.add(7); num_list.add(9); // Creatinge a ListIterator ListIteratorlist_it = num_list.listIterator(); System.out.println('Output using forward iteration:'); while (list_it.hasNext()) System.out.print(list_it.next()+' ') ; System.out.print('
Output using backward iteration:
') ; while (list_it.hasPrevious()) System.out.print(list_it.previous()+' '); } }
आउटपुट:
अब तक हमने इंटरफेस, इटरेटर और लिस्टाइटर पर चर्चा की है, इसके बाद हम अलग-अलग कलेक्शन को ट्रेस करने के लिए इन इंटरफेस का उपयोग करने के विभिन्न उदाहरण देखेंगे। लेकिन पहले, सरल सरणियों के ट्रैवर्सिंग पर ध्यान दें और फिर अन्य संग्रहों पर जाएँ।
एरे इटरेटर
जावा में, सरणी तत्वों पर पुनरावृति करने के दो तरीके हैं। कोड उदाहरणों का उपयोग करने के तरीकों का वर्णन करें।
(1) लूप के लिए
यह एक सरणी पर पुनरावृत्ति का सबसे सरल तरीका है। हम लूप के लिए एक सरल का उपयोग करते हैं जो प्रत्येक पुनरावृत्ति के साथ सूचकांक में वृद्धि करेगा और इसकी सामग्री प्रदर्शित करेगा।
import java.util.*; public class Main { public static void main(String() args) { int myArray() = {2,4,6,8,10,12,14}; int num; System.out.println('Array contents using for loop:'); for (int i = 0; i आउटपुट:

उपरोक्त कार्यक्रम लूप के लिए उपयोग की गई सरणी की सामग्री को प्रदर्शित करता है।
# 2) फॉरच लूप
यह सरणियों पर पुनरावृति करने का दूसरा तरीका है। यहाँ हम लूप या ach फॉरएच ’लूप के लिए एक विशेष का उपयोग करते हैं। यहां हम प्रत्येक तत्व के लिए सरणी के माध्यम से लूप करते हैं और फिर सामग्री प्रदर्शित करते हैं।
import java.util.*; public class Main { public static void main(String() args) { int myArray() = {2,4,6,8,10,12,14}; int num; System.out.println('Array contents using for each loop:'); for (int i :myArray) { // accessing each element of array num = i; System.out.print(num + ' '); } } }
आउटपुट:

लूप की तुलना में forEach अधिक अनुकूलित है। यह टाइप करने के लिए छोटा है और तेज भी है।
ArrayList Iterator
यदि आप एक ArrayList संग्रह के माध्यम से पार करना चाहते हैं, तो आप Iterator इंटरफ़ेस का उपयोग करके ऐसा कर सकते हैं। के रूप में यह एक अंतरफलक है आप इसे तुरंत नहीं कर सकते हैं। इसके बजाय, आप एरियर सूची के इटेटर () पद्धति का उपयोग कर सकते हैं ताकि इट्रेटर प्राप्त किया जा सके और फिर सूची को पार किया जा सके।
इटरेटर इटरेटर ();
ArrayList Iterator को प्रदर्शित करने के लिए उदाहरण।
import java.util.*; public class Main { public static void main(String() args) { ArrayListmyList = new ArrayList(); myList.add('Red'); myList.add('Green'); myList.add('Blue'); myList.add('Brown'); myList.add('Pink'); myList.add('Purple'); Iteratorlist_it = myList.iterator(); System.out.println('Elements in the arrayList:'); while(list_it.hasNext()) System.out.print(list_it.next() + ' '); } }
आउटपुट:

लिंक्डलिस्ट आइटरेटर
अब हमें लिंक्डलिस्ट संग्रह के मामले में एक पुनरावृत्ति की कार्यक्षमता देखते हैं।
लिंक्डलिस्ट संग्रह लिस्टइंटरेटर () पद्धति का समर्थन करता है जो लिस्टइंटरेटर को लिंक की गई सूची से पार करने के लिए लौटाता है।
इस फ़ंक्शन का सामान्य प्रारूप है
ListIterator list_iter = LinkedList.listIterator (int index);
यहां, इंडेक्स एक पूर्णांक मान है जो लिंकलिस्ट संग्रह में स्थिति को निर्दिष्ट करता है जहां से ट्रैवर्सिंग शुरू होना चाहिए।
आइए हम नमूना कार्यक्रम के साथ लिंक की गई सूची में सूची पुनरावृत्ति को समझते हैं। हमने उसी सरणी पुनरावृत्त कार्यक्रम को संशोधित किया है और इसे लिंक्डलिस्ट के साथ एक श्रोता शामिल करने के लिए बदल दिया है।
import java.util.*; public class Main { public static void main(String() args) { LinkedListmyList = new LinkedList(); myList.add('Red'); myList.add('Green'); myList.add('Blue'); myList.add('Brown'); myList.add('Pink'); myList.add('Purple'); ListIteratorlist_it = myList.listIterator(0); System.out.println('Elements in the LinkedList:'); while(list_it.hasNext()) System.out.print(list_it.next() + ' '); } }
आउटपुट:
जावा के लिए सर्वश्रेष्ठ इकाई परीक्षण रूपरेखा

जावा मैप / हैशमप इटरेटर
मानचित्र या इसके रूपांतर जैसे हैशमैप, ट्रेमेप, आदि संग्रह नहीं हैं। इसलिए आप सीधे उस पर पुनरावृत्ति विधि का उपयोग नहीं कर सकते। इसके बजाय, आपको कुंजी / मान जोड़े को पढ़ने के लिए कुंजी प्रविष्टि मानों पर चलना चाहिए।
यद्यपि आप मानचित्र मानों पर पुनरावृति करने के लिए forEach, पाश, आदि जैसे विभिन्न तरीकों का उपयोग कर सकते हैं, कुंजी मानों के माध्यम से पुनरावृति के लिए पुनरावृत्त का उपयोग करना सबसे अच्छा और कुशल तरीका है। इसके अतिरिक्त, आप निकालें विधि का उपयोग करके पुनरावृत्ति के दौरान मानचित्र से प्रविष्टियाँ भी निकाल सकते हैं।
HashMap के साथ Iterator का उपयोग करने का उदाहरण।
import java.util.*; class Main { public static void main(String() arg) { MapmyMap = new HashMap(); // enter name/url pair myMap.put(1, 'India'); myMap.put(2, 'Nepal'); myMap.put(3, 'Maldives'); myMap.put(4, 'SriLanka'); System.out.println(' SAARC Member Countries '); System.out.println(' KEY' + ' ' + ' COUNTRY' ); // using iterators Iteratormap_itr = myMap.entrySet().iterator(); while(map_itr.hasNext()) { Map.Entrymap_entry = map_itr.next(); System.out.println(' ' + map_entry.getKey() + ' ' + map_entry.getValue()); } } }
आउटपुट:

उपरोक्त कार्यक्रम में, हमने पूर्णांक कुंजी और स्ट्रिंग प्रकार मानों के साथ एक मानचित्र निर्धारित किया है। फिर हम नक्शे पर एक पुनरावृत्ति को परिभाषित करते हैं। कुंजी / मान जोड़े में प्रवेश करें और प्रदर्शित करें।
जावा सेट इटरेटर
Java.util.set की इटेरेटर () विधि का उपयोग इट्रेटर को प्राप्त करने के लिए किया जाता है जो सेट में तत्वों को यादृच्छिक क्रम में लौटाता है।
Iterator set_iterator = Set.iterator();
'Set_iterator' सेट के विभिन्न तत्वों पर निर्भर करता है और उनके मूल्यों को लौटाता है।
इसी तरह से, हैश सेट में एक इट्रेटर फ़ंक्शन भी होता है जो सेट इट्रेटर की तरह एक पुनरावृत्त लौटाता है।
Iterator hashset_iterator = Hash_Set.iterator();
नीचे दिए गए प्रोग्रामिंग उदाहरण सेट इटरेटर को प्रदर्शित करना है।
import java.util.*; public class Main { public static void main(String args()) { HashSetsports_set = new HashSet(); sports_set.add('Hocky'); sports_set.add('Kabaddi'); sports_set.add('Football'); sports_set.add('Badminton'); sports_set.add('Cricket'); System.out.println('Sports HashSet: ' + sports_set); // Creating an iterator Iterator hashset_iter = sports_set.iterator(); // Displaying the values after iterating through the set System.out.println('
SportsSet iterator values:'); while (hashset_iter.hasNext()) { System.out.println(hashset_iter.next()); } } }
आउटपुट:

यह कार्यान्वयन उपयोग करता है हैशसेट इटरेटर और हैशसेट तत्वों पर पुनरावृति करके व्यक्तिगत मूल्यों को प्रदर्शित करता है।
Iterator बनाम ListIterator
आइटरेटर और लिस्टाइटर इंटरफेस के बीच मुख्य अंतर को सारणीबद्ध करें।
इटरेटर सूची बनाने वाला सेट, मानचित्र आदि सहित सभी संग्रहों को पार कर सकता है इसका उपयोग केवल सूची प्रकार संग्रह जैसे ArrayList, LinkedList को पार करने के लिए किया जा सकता है। संग्रह को केवल आगे की दिशा में बदल देता है। आगे और साथ ही पीछे की दिशा में संग्रह पर पुनरावृति कर सकते हैं। अनुक्रमणिका प्राप्त नहीं कर सकता। सूचकांक प्राप्त कर सकते हैं। संग्रह में नए तत्वों को जोड़ने का कोई तरीका नहीं है। आप संग्रह में नए तत्व जोड़ सकते हैं। Iterator पुनरावृत्ति के दौरान तत्वों को संशोधित नहीं कर सकता है। ListIterator संग्रह में तत्वों को सेट () विधि का उपयोग करके संशोधित कर सकता है।
बार बार पूछे जाने वाले प्रश्न
Q # 1) जावा में Iteration क्या है?
उत्तर: एक पुनरावृत्ति एक प्रक्रिया है जिसके द्वारा एक कोड ब्लॉक को तब तक बार-बार निष्पादित किया जाता है जब तक कि कोई शर्त नहीं रखता है या मौजूद नहीं है। पुनरावृत्ति का उपयोग करके आप तत्वों के अनुक्रम से आगे बढ़ सकते हैं या डेटा को संसाधित कर सकते हैं।
Q # 2) जावा में कितने प्रकार के Iterators हैं?
उत्तर: जावा में संग्रह के माध्यम से पार करने के लिए Iterators का उपयोग किया जाता है।
जावा में तीन प्रकार के पुनरावृत्त हैं:
- ूगणकों
- Iterators
- सूची बनाने वाले
Q # 3) जावा में Iterator का उपयोग कैसे करूँ?
उत्तर: संग्रह के माध्यम से पार करने के लिए पुनरावृत्त का उपयोग करने के लिए, सबसे पहले, आपको निर्दिष्ट संग्रह के पुनरावृत्त () विधि का उपयोग करके पुनरावृत्ति प्राप्त करना होगा।
फिर आप तत्व प्राप्त करने के लिए हैनरेक्स्ट () और अगले () तरीकों का उपयोग कर सकते हैं।
Q # 4) लूप के बजाय इटरेटर का उपयोग क्यों किया जाता है?
उत्तर: लूप के लिए और साथ ही लूप के लिए दोनों का उपयोग एक विशिष्ट कोड ब्लॉक को बार-बार निष्पादित करने के लिए किया जाता है। लेकिन मुख्य अंतर यह है कि लूप के लिए आप संग्रह की सामग्री को बदल या संशोधित नहीं कर सकते। यहां तक कि अगर आप इसे संशोधित करने का प्रयास करते हैं, तो यह समवर्ती मोडिफिकेशन अपवाद को फेंक देगा। पुनरावृत्ति का उपयोग करके आप संग्रह से एक तत्व निकाल सकते हैं।
क्यू # 5) हमें जावा में Iterator की आवश्यकता क्यों है?
उत्तर: Iterator आपको संग्रहकर्ता या कंटेनर में तत्वों को पुनः प्राप्त करने में मदद करता है, बिना प्रोग्रामर को आंतरिक संरचना या संग्रह के काम करने के लिए। वे अधिक सुरुचिपूर्ण हैं, कम मेमोरी का उपभोग करते हैं और प्रोग्रामर को लंबा कोड लिखने में भी बख्शा जाता है।
दूसरे, तत्वों को संग्रह में किसी भी फैशन में संग्रहीत किया जा सकता है, लेकिन एक पुनरावृत्ति का उपयोग करके, प्रोग्रामर उन्हें सूची या किसी अन्य अनुक्रम की तरह ही पुनः प्राप्त कर सकता है।
निष्कर्ष
हमने जावा में पुनरावृत्तियों पर चर्चा की है जो इस ट्यूटोरियल में संग्रह के साथ उपयोग किए जाते हैं। पुनरावृत्तियों का यह ज्ञान पाठकों को उन संग्रह को समझने में मदद करेगा जो हम अपने बाद के ट्यूटोरियल में सीखने जा रहे हैं।
अनुशंसित पाठ
- उदाहरण के साथ जावा इंटरफेस और एब्सट्रैक्ट क्लास ट्यूटोरियल
- जावा ट्यूटोरियल फॉर बिगिनर्स: 100+ हैंड्स-ऑन जावा वीडियो ट्यूटोरियल
- जावा परिनियोजन: जावा जार फ़ाइल का निर्माण और निष्पादन
- जावा 'यह' कीवर्ड: कोड उदाहरणों के साथ ट्यूटोरियल
- जावा वर्चुअल मशीन: जावा एप्लीकेशन चलाने में JVM कैसे मदद करता है
- जावा में एक्सेस संशोधक - उदाहरण के साथ ट्यूटोरियल
- उदाहरणों के साथ जावा परावर्तन ट्यूटोरियल
- C ++ Vs Java: C ++ और Java के बीच शीर्ष 30 अंतर उदाहरणों के साथ