इस लेख में, हम समझेंगे कि दो सेट्स के यूनियन की गणना कैसे करें। एक Set एक संग्रह है जिसमें डुप्लिकेट एलिमेंट्स नहीं हो सकते। यह गणितीय सेट अमूर्तता को मॉडल करता है। Set इंटरफेस में केवल Collection से विरासत में मिले मेथड्स होते हैं और यह प्रतिबंध जोड़ता है कि डुप्लिकेट एलिमेंट्स निषिद्ध हैं।
नीचे इसका प्रदर्शन है:
मान लीजिए हमारा इनपुट है:
पहला सेट: [2, 4] दूसरा सेट: [1, 3]
वांछित आउटपुट होगा:
दो सेट्स का यूनियन है: [1, 2, 3, 4]
एल्गोरिदम
चरण 1 - शुरू चरण 2 - घोषित करें चरण 3 - मान परिभाषित करें चरण 4 - दो सेट्स बनाएं, और 'add' मेथड का उपयोग करके एलिमेंट्स जोड़ें चरण 5 - कंसोल पर सेट्स प्रदर्शित करें चरण 6 - 'addAll' मेथड का उपयोग करके दोनों सेट्स जोड़ें चरण 7 - कंसोल पर सेट्स के योग को प्रदर्शित करें चरण 8 - रुकें
उदाहरण 1
यहाँ, हम सभी ऑपरेशन्स को 'main' फंक्शन के तहत बांधते हैं।
import java.util.HashSet;
import java.util.Set;
public class Demo {
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज आयात किए गए हैं");
Set input_set_1 = new HashSet<>();
input_set_1.add(2);
input_set_1.add(4);
System.out.println("पहला सेट परिभाषित है: " + input_set_1);
Set input_set_2 = new HashSet<>();
input_set_2.add(1);
input_set_2.add(3);
System.out.println("दूसरा सेट परिभाषित है: " + input_set_2);
input_set_2.addAll(input_set_1);
System.out.println("\nदो सेट्स का यूनियन है: \n" + input_set_2);
}
}
आउटपुट
आवश्यक पैकेज आयात किए गए हैं पहला सेट परिभाषित है: [2, 4] दूसरा सेट परिभाषित है: [1, 3] दो सेट्स का यूनियन है: [1, 2, 3, 4]
उदाहरण 2
यहाँ, हम ऑपरेशन्स को फंक्शन्स में एनकैप्सुलेट करते हैं जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्रदर्शित करते हैं।
import java.util.HashSet;
import java.util.Set;
public class Demo {
static void union_sets(Set input_set_1, Set input_set_2) {
input_set_2.addAll(input_set_1);
System.out.println("\nदो सेट्स का यूनियन है: \n" + input_set_2);
}
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज आयात किए गए हैं");
Set input_set_1 = new HashSet<>();
input_set_1.add(2);
input_set_1.add(4);
System.out.println("पहला सेट परिभाषित है: " + input_set_1);
Set input_set_2 = new HashSet<>();
input_set_2.add(1);
input_set_2.add(3);
System.out.println("दूसरा सेट परिभाषित है: " + input_set_2);
union_sets(input_set_1, input_set_2);
}
}
आउटपुट
आवश्यक पैकेज आयात किए गए हैं पहला सेट परिभाषित है: [2, 4] दूसरा सेट परिभाषित है: [1, 3] दो सेट्स का यूनियन है: [1, 2, 3, 4]
अतिरिक्त जानकारी
- HashSet: अनऑर्डर्ड, O(1) औसत प्रदर्शन, डुप्लिकेट्स की अनुमति नहीं
- LinkedHashSet: इंसर्शन ऑर्डर बनाए रखता है
- TreeSet: सॉर्टेड ऑर्डर, O(log n) प्रदर्शन
- addAll(): यूनियन ऑपरेशन करता है, मूल सेट को संशोधित करता है
- Java 8+ Stream:
Stream.concat(set1.stream(), set2.stream()).collect(Collectors.toSet())
सेट ऑपरेशन्स तुलना
| ऑपरेशन | मेथड | विवरण |
|---|---|---|
| यूनियन | addAll() | दोनों सेट्स के सभी यूनिक एलिमेंट्स |
| इंटरसेक्शन | retainAll() | दोनों में सामान्य एलिमेंट्स |
| डिफरेंस | removeAll() | पहले में जो दूसरे में नहीं |
| सबसेट चेक | containsAll() | सभी एलिमेंट्स मौजूद हैं? |