इस लेख में, हम समझेंगे कि सेट पर इटरेट कैसे करें। एक Set एक संग्रह है जिसमें डुप्लिकेट एलिमेंट्स नहीं हो सकते। यह गणितीय सेट अमूर्तता को मॉडल करता है।
Set इंटरफेस में केवल Collection से विरासत में मिले मेथड्स होते हैं और यह प्रतिबंध जोड़ता है कि डुप्लिकेट एलिमेंट्स निषिद्ध हैं।
नीचे इसका प्रदर्शन है:
मान लीजिए हमारा इनपुट है:
इनपुट सेट: [Java, Scala, Mysql, Python]
वांछित आउटपुट होगा:
for-each लूप का उपयोग करके सेट पर इटरेट करना: Java, Scala, Mysql, Python
एल्गोरिदम
चरण 1 - शुरू चरण 2 - घोषित करें चरण 3 - मान परिभाषित करें चरण 4 - मानों का एक HashSet बनाएं और 'add' मेथड का उपयोग करके इसमें एलिमेंट्स इनिशियलाइज़ करें चरण 5 - कंसोल पर HashSet प्रदर्शित करें चरण 6 - HashSet के एलिमेंट्स पर इटरेट करें, और प्रत्येक मान प्राप्त करें चरण 7 - इसे कंसोल पर प्रदर्शित करें चरण 8 - रुकें
उदाहरण 1: for-each लूप
यहाँ, हम सभी ऑपरेशन्स को 'main' फंक्शन के तहत बांधते हैं।
import java.util.Set;
import java.util.HashSet;
public class Demo {
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज आयात किए गए हैं");
Set input_set = new HashSet<>();
input_set.add("Java");
input_set.add("Scala");
input_set.add("Python");
input_set.add("Mysql");
System.out.println("सेट परिभाषित है: " + input_set);
System.out.println("\nfor-each लूप का उपयोग करके सेट पर इटरेट करना:");
for (String elements : input_set) {
System.out.print(elements);
System.out.print(", ");
}
}
}
आउटपुट
आवश्यक पैकेज आयात किए गए हैं सेट परिभाषित है: [Java, Scala, Mysql, Python] for-each लूप का उपयोग करके सेट पर इटरेट करना: Java, Scala, Mysql, Python,
उदाहरण 2: Iterator इंटरफेस
यहाँ, हम ऑपरेशन्स को फंक्शन्स में एनकैप्सुलेट करते हैं जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्रदर्शित करते हैं।
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
public class Demo {
static void print_set(Set input_set) {
System.out.println("\nIterator का उपयोग करके सेट पर इटरेट करना:");
Iterator iterator = input_set.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next() + ", ");
}
}
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज आयात किए गए हैं");
Set input_set = new HashSet<>();
input_set.add("Java");
input_set.add("Scala");
input_set.add("Python");
input_set.add("Mysql");
System.out.println("सेट परिभाषित है: " + input_set);
print_set(input_set);
}
}
आउटपुट
आवश्यक पैकेज आयात किए गए हैं सेट परिभाषित है: [Java, Scala, Mysql, Python] Iterator का उपयोग करके सेट पर इटरेट करना: Java, Scala, Mysql, Python,
Set इटरेशन के तरीके
| तरीका | सिंटैक्स | विशेषताएं |
|---|---|---|
| for-each लूप | for (T item : set) | सरल, पठनीय, कोई इंडेक्स एक्सेस नहीं |
| Iterator | Iterator | इटरेशन के दौरान हटाने की अनुमति देता है |
| forEach (Java 8+) | set.forEach(item -> ...) | फंक्शनल स्टाइल, लैम्ब्डा सपोर्ट |
| Stream API | set.stream().forEach(...) | चेनिंग, फिल्टरिंग, पैरेलल प्रोसेसिंग |
| toArray + for लूप | for (T item : set.toArray()) | स्नैपशॉट, कॉन्करेंट मॉडिफिकेशन सुरक्षित |
सर्वोत्तम अभ्यास
- इटरेशन के दौरान संशोधन: ConcurrentModificationException से बचने के लिए Iterator.remove() उपयोग करें
- प्रदर्शन: for-each अधिकांश मामलों के लिए सबसे तेज़
- ऑर्डर: HashSet में कोई गारंटी नहीं, LinkedHashSet इंसर्शन ऑर्डर बनाए रखता है, TreeSet सॉर्टेड ऑर्डर
- Null मान: HashSet एक null मान की अनुमति देता है