Iterators and foreach loop In Hindi
जावा प्रोग्रामिंग लैंग्वेज में इटरेटर और foreach लूप दोनों का यूज़ कलेक्शन डाटा टाइप पर जैसे, लिस्ट, सेट, मैप, आदि और दूसरे अन्य डेटा टाइप वैल्यू सीरीज लोकेशन पर इटरेट या लूप करने में किया जाता है। जावा में इटरेटर और foreach लूप कलेक्शन फ्रेमवर्क का एक बिल्ट-इन फीचर्स हैं, और यह जावा यूजर को जावा प्रोग्राम में कलेक्शन एलिमेंट को ट्रैवर्स करने के लिए मल्टीप्ल मेथड और कांसेप्ट प्रोवाइड करते हैं।

Iterator in Java.
जावा प्रोग्राम में एक लूप इटरेटर एक ऑब्जेक्ट क्लास मेथड है, जो जावा यूजर को जावा में एक कलेक्शन डाटा टाइप जैसे, लिस्ट, सेट, या क्यू डाटा स्ट्रक्चर में वैल्यू एलिमेंट को ट्रैवर्स करने में हेल्प करता है, और प्रोग्राम लूप स्टार्ट टू एन्ड इटरेशन प्रोसेस के दौरान ऑप्शनल आर्डर में डाटा कलेक्शन टाइप से एलिमेंट लिस्ट को रिमूव करता है।
Java Iterator interface provides Java users with three primary methods.
- hasNext() – यह जावा प्रोग्राम में यदि इटरेशन प्रोसेस में अधिक ऑब्जेक्ट एलिमेंट हैं, तो यह true आउटपुट को रिटर्न करता है।
- next() – यह जावा प्रोग्राम में इटरेशन प्रोसेस में नेक्स्ट एलिमेंट को रिटर्न करता है।
- remove() – यह जावा प्रोग्राम में इटरेटर द्वारा रिटर्न किया गया लास्ट एलिमेंट को रिमूव करता है, ऑप्शनल ऑपरेशन के रूप मे।
Special Features of Java Iterators.
जावा लैंग्वेज में इटरेशन प्रोसेस को स्पेशली रूप से कलेक्शन डाटा टाइप एलिमेंट वैल्यू पर इटरेट करने के लिए डिज़ाइन या इम्प्लीमेंट किया गया है।
यह जावा प्रोग्राम वैल्यू लूप में इटरेट करते समय डाटा एलिमेंट को सिक्योर आर्डर में डिलीट करने में हेल्प करता है, जो की एक स्टैंडर्ड जनरल रेगुलर यूज़ for लूप के साथ पॉसिबल नहीं है। जावा में इटरेटर का यूज़ किसी भी कलेक्शन डाटा टाइप एलिमेंट क्लास के साथ किया जा सकता है. जो की मौजूदा प्रोग्राम में Iterable इंटरफ़ेस को इम्प्लीमेंट करने में हेल्प करता है. जैसे कि, ArrayList, HashSet, LinkedList, आदि डाटा टाइप है।
Example of Java Iterators.
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorExplanation {
public static void main(String[] args) {
// here we Creating a collection ArrayList set data type element
ArrayList<String> list = new ArrayList<>();
list.add(“Java”);
list.add(“Python”);
list.add(“Matlab”);
list.add(“Ruby”);
// here we Getting an iterator for the list element
Iterator<String> iterator = list.iterator();
// here we Iterating through the list using the iterator
while (iterator.hasNext()) {
String programming = iterator.next();
System.out.println(programming);
// Alternative – here we Removing an araylist element during the iteration process
if (programming.equals(“Python”)) {
iterator.remove(); // here This will removes “Python” from the arraylist element list
}
}
System.out.println(“Here are the List after iteration process – ” + list);
}
}
In the Java Iterators example.
- यहाँ जावा लूप इटरेटर प्रोग्राम में hasNext() मेथड का यूज़ कर यह चेक करने में करते हैं कि और सेट डाटा में और एलिमेंट हैं, या नहीं है।
- जावा लूप इटरेटर प्रोसेस में next() फंक्शन मेथड नेक्स्ट एलिमेंट को एक्सट्रेक्ट करता है।
- जावा लूप इटरेटर प्रोसेस में remove() फंक्शन मेथड का यूज़ लूप इटरेशन के दौरान लिस्ट से एलिमेंट “Python” को रिमूव करने में किया जाता है।
For-each Loop/Enhanced For Loop in Java.
मॉडर्न जावा प्रोग्रामिंग में for-each लूप इटरेशन जिसे एन्हांस्ड for लूप के रूप में भी जाना जाता है. कलेक्शन लिस्ट, सेट, मैप, आदि डाटा टाइप पर लूप इटरेट करने का एक सिंपल और अधिक स्माल मेथड प्रोवाइड करता है। for-each लूप इटरेशन को जावा 5 वर्जन में रिप्रेजेंट किया गया था और यह एक क्लियर लूप इटरेटर प्रॉसेस की आवश्यकता को टर्मिनेट करता है। for-each लूप इटरेशन को स्पेशली तब यूज़ किया जाता है. जब जावा यूजर को कलेक्शन डाटा टाइप में हर एलिमेंट या वैल्यू को एक्सेस या ट्रैवर्स करने की आवश्यकता होती है, और लूप लॉजिक या कंडीशन को प्रोग्राम में इटरेट करते समय कलेक्शन डाटा टाइप एलिमेंट को रिमूव या मॉडिफाई करने की ज़रूरत नहीं होती है।
Syntax of a Java for-each loop.
for (Type element : collection) {
// here we can Access the list element
}
In a Java for-each loop.
- जावा for-each लूप सिंटेक्स में Type कलेक्शन में एलिमेंट्स का डाटा टाइप डिफाइन है।
- इसमें एलिमेंट एक प्रोग्राम डाटा टाइप वेरिएबल है, जो लूप के इटरेट होने पर कलेक्शन में हर एलिमेंट को होल्ड और प्रोसेस करता है।
- जावा for-each लूप इटरेशन प्रोसेस में collection वह कलेक्शन या ऐरे सेट लिस्ट डाटा टाइप है, जिस पर मौजूदा प्रोग्राम में इटरेट किया जा रहा है।
Special features of the Java for-each loop.
- जावा for-each लूप इटरेशन प्रोसेस में यह ऐरे या लूप कलेक्शन डाटा पर इटरेशन टास्क को इजी इम्प्लीमेंट करता है।
- जावा for-each लूप इटरेशन प्रोसेस में यह एक रीड-ओनली लूप है, जावा प्रोग्राम इटरेशन प्रोसेस के दौरान आप डाटा टाइप कलेक्शन को मॉडिफाई नहीं कर सकते है, या कलेक्शन डाटा एलिमेंट से कोई मौजूदा डाटा एलिमेंट्स को रिमूव नहीं कर सकते है।
- जावा for-each लूप इटरेशन का यूज़ ऐरे और किसी भी कलेक्शन लिस्ट डाटा टाइप के साथ किया जा सकता है. जो प्रोग्राम में Iterable इंटरफ़ेस कांसेप्ट को इम्प्लीमेंट करता है।
Example of a Java for-each loop.
import java.util.ArrayList;
public class ForEachLoopIllustration {
public static void main(String[] args) {
// here we Creating a collection of ArrayList element data type
ArrayList<String> list = new ArrayList<>();
list.add(“Maruti Suzuki”);
list.add(“Hyundai”);
list.add(“Tata Motors”);
list.add(“Mahindra”);
list.add(“Toyota”);
// here we Using for-each loop to iterate through the ArrayList element data type
System.out.println(“here we use a for-each loop -“);
for (String carbrand : list) {
System.out.println(carbrand);
}
}
}
Here in the for-each loop example.
यहाँ इस प्रोग्राम में for-each लूप ArrayList से वैल्यू या एलिमेंट को इटरेट करता है, और हर ऐरेलिस्ट एलिमेंट को कंसोल स्क्रीन पर प्रिंट करता है। याद रहे कि, for-each लूप इटरेशन प्रोसेस के दौरान ऐरेलिस्ट कलेक्शन के एलिमेंट को रिमूव या मॉडिफाई करने का कोई स्पेशल मेथड प्रोवाइड नहीं करता है।
Main Differences Between Iterator and For-each Loop
| Each Feature | Iterator explanation | For-each Loop explanation |
| Each Syntax | Java Iterator Uses hasNext(), next(), and remove() popular function methods to iterate list object | Java For-each LoopUses a simple syntax – for (element : collection) in program |
| Modifying the Collection or not | Java Iterator capable to remove elements during iteration using remove() function method | Java For-each LoopCannot modify the collection (e.g, no remove()) function method |
| Where to Use Case | Java Iterator is Suitable when java user need to remove elements during iteration process or need more control over iteration loop | Java For-each LoopSimplifies iteration process, when you just need to read elements list data type |
| Usages Performance | Java Iterator allow Slightly more overhead due to method calls (hasNext(), next()) function | Java For-each loop More detailed and easier to read, but not suitable for removal of elements during iteration process |
| Null Handling features | Java Iterator Works with collections list data type that allow null values | Java For-each loop Works with collections data type that also allow null values |
| Flexibility or not | Java Iterator is More flexible, as you can perform more complex list collection data type operations | Java For-each loop More limited function, just used for simple program iteration task |
Summary of the for-each loop usage in Java programming.
- Iterator – जावा यूजर प्रोग्राम में for-each लूप का यूज़ तब करें, जब जावा प्रोग्रामर को लूप इटरेशन प्रोसेस पर कम्पलीट कंट्रोल चाहिए। जैसे, लूप एलिमेंट इटरेशन प्रोसेस के दौरान एलिमेंट को रिमूव करना या यदि जावा यूजर को लूप इटरेशन प्रोसेस के दौरान लिस्ट कलेक्शन डाटा टाइप को मॉडिफाई करना आदि है।
- For-each loop – जावा यूजर प्रोग्राम में for-each लूप का यूज़ तब करें। जब जावा यूजर को सिर्फ़ लिस्ट एलिमेंट वैल्यू को इटरेट करना हो, और लूप इटरेशन प्रोसेस के दौरान लिस्ट डाटा कलेक्शन को मॉडिफाई करने की ज़रूरत नहीं है। जावा प्रोग्राम में for-each लूप इजी लूप इटरेशन टास्क के लिए अधिक आसानी से रीड किया जा सकने वाला और छोटा ऑप्शन है।
