इटरेटर और एन्यूमरेशन दोनों ही संग्रह से किसी तत्व को पार करने और एक्सेस करने के लिए कर्सर हैं। वे दोनों संग्रह ढांचे से संबंधित हैं। संग्रह ढांचे में 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()); } } }