अनुशंसित, 2020

संपादक की पसंद

जावा में Iterator और ListIterator के बीच अंतर

Iterator और ListIterator जावा के तीन अभिशापों में से दो हैं। दोनों Iterator और ListIterator J ava.Util पैकेज में कलेक्शन फ्रेमवर्क द्वारा परिभाषित किए गए हैं। ListIterator Iterator इंटरफ़ेस का चाइल्ड इंटरफ़ेस है। Iterator और ListIterator में मुख्य अंतर यह है कि Iterator केवल संग्रह में तत्वों को आगे की दिशा में ले जा सकता है जबकि, ListIterator दोनों को संग्रह में तत्वों को आगे और पीछे की दिशा में ले जा सकता है।

आइए नीचे दिए गए तुलना चार्ट की सहायता से Iterator और ListIterator के बीच कुछ और अंतरों पर चर्चा करें।

तुलना चार्ट

तुलना के लिए आधारइटरेटरListIterator
बुनियादीIterator केवल संग्रह में तत्वों को आगे की दिशा में पीछे कर सकता है।ListIterator आगे और साथ ही पीछे की दिशा में एक संग्रह में तत्वों को पीछे कर सकता है।
जोड़नाIterator तत्वों को एक संग्रह में जोड़ने में असमर्थ है।ListIteror तत्वों को एक संग्रह में जोड़ सकता है।
संशोधित करेंIterator एक संग्रह में तत्वों को संशोधित नहीं कर सकता है।ListIterator सेट का उपयोग करके संग्रह में तत्वों को संशोधित कर सकता है ()।
TraverseIterator मैप, लिस्ट और सेट को पार कर सकता है।ListIterator केवल वस्तुओं को सूचीबद्ध कर सकता है।
सूचीIterator के पास संग्रह में तत्व का सूचकांक प्राप्त करने की कोई विधि नहीं है।ListIterator का उपयोग करके, आप एक संग्रह में तत्व का एक सूचकांक प्राप्त कर सकते हैं।

इटरेटर की परिभाषा

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

इटरेटर में एक विधि पुनरावर्तक () है जो संग्रह की शुरुआत में पुनरावृत्त लौटाता है। एक बार जब आप एक संग्रह की शुरुआत के लिए एक पुनरावृत्ति प्राप्त करते हैं, तो संग्रह में तत्वों को पार करने के लिए एक लूप स्थापित करते हैं जो हर बार लूप पुनरावृत्त करता है। HasNext () यदि यह सही है तो इसका मतलब है कि संग्रह में अगला तत्व है, और यदि यह गलत है तो इसका मतलब है कि सभी तत्व ट्रैवर्स हो गए हैं। फिर लूप के अंदर, आप अगले () का उपयोग करके प्रत्येक तत्व को एक संग्रह में प्राप्त कर सकते हैं। अगली () विधि संग्रह का अगला तत्व लौटाती है।

दोष यह है:

Iterator का उपयोग करके आप केवल आगे की दिशा में एक संग्रह को पार कर सकते हैं।
Iterator का उपयोग करके, आप किसी संग्रह में तत्वों को हेरफेर या संशोधित नहीं कर सकते हैं।

ListIterator की परिभाषा

ListIterator एक संग्रह ढांचे में एक इंटरफ़ेस है, और यह Iterator इंटरफ़ेस का विस्तार करता है। ListIterator का उपयोग करके, आप संग्रह के तत्वों को आगे और पीछे दोनों दिशाओं में पार कर सकते हैं। आप संग्रह में किसी भी तत्व को जोड़, हटा या संशोधित भी कर सकते हैं। संक्षेप में, हम कह सकते हैं कि यह Iterator की कमियों को दूर करता है।

ListIterator के तरीके इस प्रकार हैं:

hasNext () : यदि रिटर्न सही है, तो पुष्टि करता है कि संग्रह में अधिक तत्व हैं।
अगला () : सूची के अगले तत्वों को लौटाता है।
nextIndex () : सूची में अगले तत्वों के सूचकांक को लौटाता है।
hasPrepret () : अगर किसी संग्रह में रिवर्स दिशा में तत्व हैं, तो यह सच है।
पिछला () : पिछले तत्व को एक संग्रह में लौटाता है।
पिछलाइंडेक्स () : एक संग्रह में पिछले तत्व का रिटर्न इंडेक्स।
निकालें () : एक संग्रह से तत्व को हटा दें
सेट () : एक संग्रह में तत्व को संशोधित करता है।
add () : नए तत्व को एक संग्रह में जोड़ता है।

Iterator और ListIterator के बीच मुख्य अंतर

  1. Iterator और ListIterator में मूल अंतर यह है कि दोनों कर्सर होने के कारण, Iterator केवल संग्रह में तत्वों को आगे की दिशा में ले जा सकता है। दूसरी ओर, सूचीकर्ता आगे और पीछे दोनों दिशाओं में यात्रा कर सकता है।
  2. पुनरावृत्ति का उपयोग करके आप किसी भी तत्व को एक संग्रह में नहीं जोड़ सकते। लेकिन, ListIterator का उपयोग करके आप तत्वों को एक संग्रह में जोड़ सकते हैं।
  3. Iterator का उपयोग करके, आप किसी संग्रह में एक तत्व को नहीं निकाल सकते हैं, जहाँ आप ListIterator का उपयोग करके किसी संग्रह से एक तत्व निकाल सकते हैं।
  4. Iterator का उपयोग करके आप मैप, सूची, सेट जैसे सभी संग्रहों को पार कर सकते हैं। लेकिन, ListIteror द्वारा आप केवल कार्यान्वित वस्तुओं की सूची को पार कर सकते हैं।
  5. आप Iterator का उपयोग करके किसी तत्व का एक सूचकांक प्राप्त कर सकते हैं। लेकिन जैसा कि सूची अनुक्रमिक और सूचकांक-आधारित है आप सूची-सूचक का उपयोग करने में एक तत्व का सूचकांक प्राप्त कर सकते हैं।

निष्कर्ष:

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

Top