Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में एक इटरेटर और लिस्टइटरेटर के बीच अंतर

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

Iterator और ListIterator के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।

<वें शैली="पाठ्य-संरेखण:केंद्र;">पुनरावर्तक <वें स्टाइल ="टेक्स्ट-एलाइन:सेंटर;"> लिस्टइटरेटर
वरिष्ठ। नहीं. कुंजी
1 लागू इटरेटर का उपयोग संग्रह के प्रकार पर ध्यान दिए बिना किसी भी संग्रह को पार करने के लिए किया जा सकता है। सूची पुनरावर्तक का उपयोग केवल पुनरावृति करने के लिए किया जा सकता है केवल सूची संग्रह कार्यान्वित वर्ग जैसे सरणीसूची, लिंक्डलिस्ट आदि।
2 कॉलिंग जैसा कि उल्लेख किया गया है, Iterator का उपयोग सभी संग्रहों में तत्वों की गणना करने के लिए किया जाना चाहिए, जैसे सेट, सूची, कतार, डेक और मैप इंटरफ़ेस के सभी कार्यान्वित वर्गों में भी। इटरेटर ऑब्जेक्ट को संग्रह इंटरफ़ेस के इटरेटर () विधि को कॉल करके बनाया जा सकता है। दूसरी ओर, ListIterator का उपयोग तब किया जाना चाहिए जब हम List के तत्वों की गणना करना चाहते हैं। ListIterator का ऑब्जेक्ट सूची इंटरफ़ेस में मौजूद listIterator() विधि को कॉल करके बनाया जा सकता है।
3 डेटा ट्रैवर्स इटरेटर के मामले में डेटा ट्रैवर्स केवल एक दिशा में संभव है क्योंकि इटरेटर केवल आगे की दिशा में ही ट्रैवर्स कर सकता है सूची इटरेटर आगे और पीछे दोनों दिशाओं में ट्रैवर्स कर सकता है जिससे डेटा दोनों दिशाओं में ट्रैवर्स हो जाता है।
4 हटाना इटरेटर के मामले में किसी तत्व को हटाने की अनुमति नहीं है। ListIterator सूची संग्रह में एक तत्व को बदल सकता है।
5 जोड़ एक पुनरावर्तक के मामले में एक तत्व को जोड़ने की अनुमति नहीं है क्योंकि यह ConcurrentModificationException को फेंकता है। ListIterator किसी भी समय आसानी से सूची संग्रह में एक तत्व जोड़ सकता है।
6 संशोधन एक पुनरावर्तक के मामले में किसी तत्व के संशोधन की अनुमति नहीं है क्योंकि यह ConcurrentModificationException फेंकता है। ListIterator सेट () विधि को कॉल करके किसी भी समय आसानी से सूची संग्रह में एक तत्व को संशोधित कर सकता है।
7 तत्व का सूचकांक एक पुनरावर्तक का उपयोग करते समय संग्रह में ट्रैवर्स किए गए तत्व की अनुक्रमणिका प्राप्त नहीं कर सकता है। ListIterator में सूची को पार करते समय किसी भी समय तत्वों की अनुक्रमणिका प्राप्त करने के लिए nextIndex() और lastIndex() जैसी विधियां हैं।

इटरेटर बनाम लिस्टइटरेटर का उदाहरण

JavaTester.java

import java.io.*;
import java.util.*;
public class JavaTester {
   public static void main(String[] args){
      ArrayList<Integer> list = new ArrayList<Integer>();
      list.add(1);
      list.add(2);
      list.add(3);
      list.add(4);
      list.add(5);
      //Iterator
      Iterator itr = list.iterator();
      System.out.println("Iterator traversal:");
      while (itr.hasNext())
      System.out.print(itr.next() + " ");
      System.out.println();
      // ListIterator
      ListIterator i = list.listIterator();
      System.out.println("ListIterator Forward traversal:");
      while (i.hasNext()){
         System.out.print(i.next() + " ");
         System.out.println();
         System.out.println("ListIterator Backward traversal : ");
      }
      while (i.hasPrevious()){
         System.out.print(i.previous() + " ");
         System.out.println();
      }
   }
}

आउटपुट

Iterator traversal:
1 2 3 4 5
ListIterator Forward traversal:
1
ListIterator Backward traversal :
2
ListIterator Backward traversal :
3
ListIterator Backward traversal :
4
ListIterator Backward traversal :
5
ListIterator Backward traversal :
5
4
3
2
1

  1. जावा में सूची () और सूचीफाइल () विधियों के बीच अंतर

    फ़ाइल . नाम की कक्षा java.io पैकेज सिस्टम में एक फ़ाइल या निर्देशिका (पथ नाम) का प्रतिनिधित्व करता है। निर्देशिका में सभी मौजूदा फाइलों की सूची प्राप्त करने के लिए यह वर्ग सूची () . प्रदान करता है और ListFiles() तरीके। उनके बीच मुख्य अंतर यह है कि सूची () विधि एक स्ट्रिंग सरणी के रूप में दी गई न

  1. जावा में ऐरेलिस्ट और हैशसेट के बीच अंतर

    हैशसेट और ऐरेलिस्ट दोनों ही जावा संग्रह ढांचे के कुछ सबसे महत्वपूर्ण वर्ग हैं। ArrayList और हैशसेट के बीच महत्वपूर्ण अंतर निम्नलिखित हैं। सीनियर। नहीं. कुंजी ऐरेलिस्ट हैशसेट 1 कार्यान्वयन ArrayList सूची इंटरफ़ेस का कार्यान्वयन है। दूसरी ओर हैशसेट एक सेट इंटरफ़ेस का कार्यान्वयन है। 2 आंतरिक क

  1. जावा में एक इटरेटर और लिस्टइटरेटर के बीच अंतर

    जावा ने इन दो इंटरफेस को एक संग्रह में संग्रहीत डेटा को एक-एक करके पार करने के लिए प्रदान किया। इटरेटर और लिस्ट इटरेटर का आंतरिक कार्यान्वयन उन्हें अलग बनाता है लेकिन दोनों इटरेटर का मुख्य एजेंडा एक ही है। Iterator और ListIterator के बीच महत्वपूर्ण अंतर निम्नलिखित हैं। वरिष्ठ। नहीं. कुंजी पुनरावर्त