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

जावा में इटरेटर और एन्यूमरेशन के बीच अंतर

इटरेटर और एन्यूमरेशन दोनों ही संग्रह से किसी तत्व को पार करने और एक्सेस करने के लिए कर्सर हैं। वे दोनों संग्रह ढांचे से संबंधित हैं। संग्रह ढांचे में JDK1.0 और Iterator में JDK.1.2 संस्करण में गणना जोड़ी गई थी।

एन्यूमरेशन संग्रह में संरचनात्मक परिवर्तन नहीं कर सकता क्योंकि इसमें संग्रह में तत्व तक केवल पढ़ने के लिए पहुंच है। इसकी निम्नलिखित विधियाँ हैं:

  • *hasMoreElements()
  • *nextElement()

दूसरी ओर, एक पुनरावर्तक संग्रह में तत्व को पढ़ और हटा सकता है। इसकी निम्नलिखित विधियाँ हैं -

  • *hasNext()
  • *next()
  • *remove()
<वें शैली="पाठ्य-संरेखण:केंद्र;">पुनरावर्तक <वें शैली="पाठ्य-संरेखण:केंद्र;">गणना
वरिष्ठ। नहीं. कुंजी
1
मूलभूत
इटरेटर में, हम संग्रह में तत्व को ट्रैवर्स करते समय तत्व को पढ़ और हटा सकते हैं।
गणना का उपयोग करते हुए, हम केवल संग्रह में ट्रैवर्सिंग तत्व के दौरान तत्व पढ़ सकते हैं।
2.
पहुंच
इसका उपयोग संग्रह ढांचे के किसी भी वर्ग के साथ किया जा सकता है।
इसका उपयोग केवल संग्रह ढांचे के विरासत वर्ग जैसे वेक्टर और हैशटेबल के साथ किया जा सकता है।
3.
असफल-तेज़ और असफल-सुरक्षित
संग्रह में कोई भी परिवर्तन, जैसे कि एक थ्रेड के दौरान संग्रह से तत्व को हटाना संग्रह को पुनरावृत्त करना है, फिर यह समवर्ती संशोधन अपवाद को फेंक देता है।
गणना प्रकृति में विफल सुरक्षित है। यह समवर्ती संशोधन अपवाद नहीं फेंकता
4.
सीमा
केवल आगे की दिशा में पुनरावृति संभव है
गणना का उपयोग करके निकालने के कार्य नहीं किए जा सकते।
5.
तरीके
इसकी निम्नलिखित विधियाँ हैं -
* हैनेक्स्ट ()
*अगला()
*हटाना()
इसकी निम्नलिखित विधियाँ हैं -
*हैमोर एलीमेंट्स ()
* अगला एलिमेंट ()

गणना का उदाहरण

class EnumerationExample {
   public static void main(String args[]) {
      List list = new ArrayList(Arrays.asList( new String[] {"Apple", "Cat", "Dog", "Rat"}));
      Vector v = new Vector(list);
      delete(v, "Dog");
   }
   private static void delete(Vector v, String name) {
      Enumeration e = v.elements();
      while (e.hasMoreElements()) {
         String s = (String) e.nextElement();
         if (s.equals(name)) {
            v.remove(name);
         }
      }
      // Display the names
      System.out.println("The names are:");
      e = v.elements();
      while (e.hasMoreElements()) {
         // Prints elements
         System.out.println(e.nextElement());
      }
   }
}

इटरेटर का उदाहरण

class IteratorExample {
   public static void main(String args[]) {
      List list = new ArrayList(Arrays.asList( new String[] {"Apple", "Cat", "Dog", "Rat"}));
      Vector v = new Vector(list);
      delete(v, "Dog");
   }
   private static void delete(Vector v, String name) {
      Iterator i = v.iterator();
      while (i.hasNext()) {
         String s = (String) i.next();
         if (s.equals(name)) {
            i.remove();
         }
      }
      // Display the names
      System.out.println("The names are:");
      i = v.iterator();
      while (i.hasNext()) {
         System.out.println(i.next());
      }
   }
}

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

    सीरियलाइज़ेशन और एक्सटर्नलाइज़ेशन दोनों किसी ऑब्जेक्ट को स्ट्रीम बाइट में बदलने और डेटाबेस या मेमोरी में बाइट स्ट्रीम को स्टोर करने की प्रक्रियाएँ हैं। java.io.Serializable इंटरफ़ेस को लागू करने वाले वर्ग को क्रमबद्ध किया जा सकता है। दूसरी ओर, आवेदन में आवश्यकता के आधार पर कस्टम क्रमांकन के लिए उपयो

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

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

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

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