से

सेट में Java

2 अभ्यास

सेट के बारे में

Set एक ऐसा संग्रह है जिसका कोई तय क्रम नहीं होता। List के विपरीत, इस बात की गारंटी होती है कि इसमें कोई डुप्लिकेट वैल्यू नहीं होगी।

Set इंटरफ़ेस का जेनेरिक टाइप पैरामीटर बताता है कि उस Set में किस तरह के एलिमेंट रहेंगे:

Set<Integer> ints = Set.of(1, 2, 3);
Set<String> strings = Set.of("alpha", "beta", "gamma");
Set<Object> mixed = Set.of(1, false, "foo");

ध्यान दीजिए कि Set.of() मेथड एक ऐसा Set इंस्टेंस बनाता है जिसे बदला नहीं जा सकता। इस इंस्टेंस पर add और remove जैसे मेथड कॉल करने की कोशिश की, तो कोड चलने के समय एक एक्सेप्शन मिलेगा।

बदले जा सकने वाला Set बनाने के लिए आपको एक ऐसी क्लास का इंस्टेंस बनाना होगा जो Set इंटरफ़ेस को लागू करती हो। इस इंटरफ़ेस को लागू करने वाली सबसे ज़्यादा इस्तेमाल होने वाली बिल्ट-इन क्लास HashSet क्लास है।

Set<Integer> ints = new HashSet<>();

Set इंटरफ़ेस Collection और Iterable इंटरफ़ेस से बना है, इसलिए यह दूसरे तरह के संग्रहों के साथ बहुत से मेथड साझा करता है। लेकिन Collection इंटरफ़ेस से एक खास फर्क यह है कि add और remove जैसे मेथड void की जगह boolean लौटाते हैं। यह बताता है कि जब उस मेथड को कॉल किया गया था, तब वह आइटम सेट में मौजूद था या नहीं:

Set<Integer> set = new HashSet<>();
set.add(1);
// => true
set.add(2);
// => true
set.add(1);
// => false
set.size();
// => 2
set.contains(1);
// => true
set.contains(3);
// => false
set.remove(3);
// => false
set.remove(2);
// => true
set.size();
// => 1
GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

सेट सीखिए