जावा सेट उदाहरण  



जावा जावा सेट सेट करा

जावा सेट इंटरफेस एक अशी क्रमवारी नसलेली संग्रह आहे ज्यात कोणतेही डुप्लिकेट घटक नसतात. सेट इंटरफेस जावा मध्ये गणिताच्या सेटची वैशिष्ट्ये प्रदान करतो. या ट्यूटोरियल मध्ये आपण जावा सेट पद्धती आणि त्यांच्या वापराची विविध जावा सेट उदाहरणे पाहू.

सेट इंटरफेसची वैशिष्ट्ये  

  • यात अद्वितीय घटक आहेत ज्याचा अर्थ असा आहे की ते डुप्लिकेट मूल्यांना परवानगी देत ​​नाही
  • घटक संचयित करण्यासाठी जावा सेटला कोणतीही ऑर्डर नाही
  • यात कोणतीही अनुक्रमणिका नाही आणि म्हणूनच आम्ही स्थितीनुसार कोणत्याही घटकांमध्ये प्रवेश करू शकत नाही.
  • हा एक इंटरफेस असल्याने आम्ही कोणत्याही सेट अंमलबजावणी कक्षाचा वापर करुन त्याची अंमलबजावणी करू शकतो
  • संग्रह इंटरफेस वाढवते

जावा सेट आणि जावा सूचीमधील फरक  

  • जावा सेट घटकांचा एक अक्रमित संग्रह आहे यादी घटकांचा ऑर्डर केलेला संग्रह आहे.
  • सेटला अनुक्रमणिका-आधारित प्रवेश नसतो परंतु सूचीमध्ये अनुक्रमणिका असते ज्याद्वारे आम्ही घटकांमध्ये प्रवेश करू शकतो.
  • सेटमध्ये आम्ही डुप्लिकेट मूल्ये जोडू शकत नाही तर यादी डुप्लिकेट मूल्ये जोडण्यास परवानगी देते.

अंमलबजावणी सेट करा  

पासून जावा सेट एक इंटरफेस आहे, आम्ही थेट ऑब्जेक्ट तयार करू शकत नाही. म्हणून आम्हाला हॅशसेट, ट्रीसेट, लिंक्डहॅशसेट किंवा एनमसेट सारखा एक वर्ग लागू करण्याची आवश्यकता आहे. प्रत्येक संच वर्ग खाली चर्चा केल्याप्रमाणे वेगळ्या पद्धतीने वागतो:

  • हॅशसेट - सेटमधून ट्रॅव्हर्स करताना घटकांचा कोणताही क्रम किंवा क्रम नाही.
  • ट्रीसेट - हे सॉर्टिंगसह घटकांची क्रमवारी जतन करते
  • लिंक्डहेशसेट - ते समाविष्ट केल्याप्रमाणे घटकांची क्रमवारी जतन करते
हे सुद्धा पहा
स्कॅनर वर्ग जावा आणि स्कॅनर जावा आयात करा

जावा सेट करा

जावा सेट उदाहरण  

सेट इंटरफेसची अंमलबजावणी करण्यासाठी, आम्हाला java.util. * पॅकेज आयात करणे आवश्यक आहे अन्यथा स्वतंत्र वर्ग पॅकेज स्वतंत्रपणे आयात करा.

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetExample {

  public static void main(String[] args) {
    Set set1 = new HashSet();
    Set set2 = new TreeSet();
    Set set3 = new LinkedHashSet();

  }

}

आम्ही खाली दर्शविल्यानुसार जेनेरिक सेट देखील तयार करू शकतो. येथे आपण हॅशसेटला स्ट्रिंग प्रकार आणि ट्रीसेटला इंटिजर प्रकार म्हणून निर्दिष्ट केले आहे. म्हणूनच या वस्तू केवळ या विशिष्ट प्रकारची मूल्ये स्वीकारतात.

import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetExample {

  public static void main(String[] args) {
    Set<String> setstring = new HashSet<String>();
    Set<Integer> setint = new TreeSet<Integer>();
  }
}

जावा सेट पद्धती  

सेटमध्ये खाली दिलेल्या पद्धतींसह संग्रहण इंटरफेसच्या सर्व पद्धती समाविष्ट आहेत.

पद्धतवर्णनघटक
बुलियन addड (स्ट्रिंग ई)आधीपासूनच विद्यमान नसल्यास सेटमध्ये घटक जोडतो. जर घटक आधीपासूनच सेटमध्ये अस्तित्त्वात असेल आणि कॉलकडे दुर्लक्ष करत असेल तर ते चुकीचे मिळवतेई - सेटमध्ये घटक जोडले जाणे
बुलियन Aडऑल (कलेक्शन)संग्रहात नसलेले सर्व घटक सेटमध्ये जोडलेसी - जोडले जाणारे घटकांचे संग्रह
शून्य स्पष्ट ()सेटमधून सर्व घटक काढून टाकते आणि सेट रिक्त असेल
बुलियनमध्ये (ऑब्जेक्ट ओ)सेटमध्ये घटक आहेत की नाही ते तपासते आणि ते उपलब्ध असल्यास सत्य मिळवतेसेट - सेटमध्ये शोधायचा घटक
बुलियनमध्ये सर्व (संग्रह सी)संकलन संचचा उपसंच आहे की नाही ते तपासते आणि उपलब्ध असल्यास सत्य मिळवतेसी - घटकांचा संग्रह
बुलियन बरोबरी (ऑब्जेक्ट ओ)ऑब्जेक्ट पास सह सेटची समानता तपासते. जर ते दोन्ही संच असले आणि त्यामध्ये समान घटक आणि आकार असतील तर ते परत येईलo - ऑब्जेक्ट ज्याची तुलना करणे आवश्यक आहे
बुलियन इम्प्टी ()सेट रिक्त आहे की नाही याची तपासणी करते आणि रिक्त असल्यास सत्य मिळवते
इटरेटर इटरेटर ()सेटमधील घटकांमधून नेव्हिगेट करण्यासाठी इटरेटर परत करतो
बुलियन रिमू (ऑब्जेक्ट ओ)सेटमधून विशिष्ट घटक काढून टाकते आणि घटक काढल्यास सत्य मिळवतेo - घटक काढले जाणे
बुलियन रिमूव्हल (संग्रह क)संग्रहामधील सर्व घटक उपस्थित असल्यास ते सेटमधून काढून टाकतेसी - घटकांचे संग्रह काढले जाणे
बुलियन रिटेनआल (संग्रह सी)संचातील संग्रहातील फक्त घटक टिकवून ठेवतात म्हणजेच ते संकलनाचा भाग नसलेले इतर सर्व घटक काढून टाकतेसी - घटकांचा संग्रह कायम ठेवला जाईल
पूर्ण आकार ()संचातील घटकांची संख्या मिळवते
स्प्लिटइटेरेटर स्प्लिटाइरेटर ()सेटमधील घटकांवर स्प्लिट इटरेटर तयार करते
ऑरेक्ट [] ते अ‍ॅरे ()सेटमधील सर्व घटक अ‍ॅरेमध्ये रूपांतरित करते
स्ट्रिंग टूस्ट्रिंग ()ऑब्जेक्टचे स्ट्रिंग प्रतिनिधित्व मिळवते
हे सुद्धा पहा
जावा मधील डेटाइंटपुटस्ट्रीम

अपवाद सेट करा  

जावा सेट फेकतो खाली अपवाद

  • असमर्थित ऑपरेशन एक्सेप्शन
  • NullPointerException
  • ClassCastException
  • बेकायदेशीररित्याविचार

सेटमधून घटक जोडा आणि काढा  

खाली दिलेल्या उदाहरणात आम्ही प्रथम हॅशसेट तयार करतो आणि 2 घटक समाविष्ट करतो. नंतर आम्ही आणखी एक हॅशसेट तयार करतो आणि आणखी 2 घटक समाविष्ट करतो. यानंतर पहिल्या सेटमध्ये संग्रह म्हणून जोडला जाईल.

काढलेल्या उदाहरणामध्ये, आम्ही प्रथम 1 से घटक काढतो आणि नंतर दुसर्‍या सेटमधून सर्व घटक काढतो.

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetExample {

  public static void main(String[] args) {

    Set<String> setstring = new HashSet<String>();
    setstring.add("Java");
    setstring.add("Javascript");
    System.out.println(setstring);
    
    Set<String> string2 = new HashSet<String>();
    string2.add("C");
    string2.add("C++");
    
    setstring.addAll(string2);
    System.out.println("Elements in set after addAll operation");
    System.out.println(setstring);
    
    setstring.remove("Javascript");
    System.out.println("Elements in the set after remove opertaion");
    System.out.println(setstring);
    
    setstring.removeAll(string2);
    System.out.println("Elements in the set after removeAll opertaion");
    System.out.println(setstring);
    
  }
  

}
Output:
[Java, Javascript]
Elements in set after addAll operation
[Java, C++, C, Javascript]
Elements in the set after remove opertaion
[Java, C++, C]
Elements in the set after removeAll opertaion
[Java]

ट्रीसेटचा वापर करून घटकांची क्रमवारी लावत आहे  

येथे आपण पूर्णांकांची अ‍ॅरे घोषित केली आणि नंतर लूपसाठी हॅशसेटमध्ये घटक समाविष्ट केले. आऊटपुटमध्ये तुम्ही पाहू शकता की डुप्लिकेट एलिमेंट “12” समाविष्ट नाही जे सेट वैशिष्ट्य आहे. आम्ही खाली दिलेल्या उदाहरणात दिलेल्या प्रमाणे ट्रीसेटचा वापर करून हॅशसेटचे घटक सॉर्ट करू शकतो.

import java.util.*;

public class SetSort {

  public static void main(String[] args) {
    Set<Integer> numbers = new HashSet<Integer>();
    int[] a = {34,78,12,67,45,23,12,89};
    for(int i=0;i<a.length;i++) {
      numbers.add(a[i]);
    }
    System.out.println("Elements in HashSet");
    System.out.println(numbers);
    
    Set<Integer> treeset = new TreeSet<Integer>(numbers);
    System.out.println("Elements in treeset after sort");
    System.out.println(treeset);
  }

}
Output:
Elements in HashSet
[34, 67, 23, 89, 12, 45, 78]
Elements in treeset after sort
[12, 23, 34, 45, 67, 78, 89]

जावा सेट अ‍ॅरेमध्ये रुपांतरित करा  

आपण सेटला an मध्ये रूपांतरित करू शकतो अॅरे खाली वर्णन केल्याप्रमाणे ToArray पद्धत वापरणार्‍या घटकांची.

import java.util.*;

public class SetArray {

  public static void main(String[] args) {
    Set<String> names = new HashSet<String>();
    names.add("Roshan");
    names.add("Kiran");
    names.add("Tejas");
    names.add("Karthik");
    
    String[] strnames = names.toArray(new String[names.size()]);
    for(String strvalues: strnames) {
      System.out.println(strvalues);
    }

  }

}
Output:
Roshan
Kiran
Tejas
Karthik

सेट ऑपरेशन्सचे जावा प्रोग्रामचे उदाहरण (युनियन, छेदनबिंदू आणि फरक)  

या उदाहरणात, आम्ही 2 पूर्णांक तयार केले आहेत. 2 संचाचे युनियन करण्यासाठी आम्ही theडऑल पद्धत वापरतो, जी दोन्ही सेटमधील सर्व अद्वितीय घटकांना जोडेल. प्रतिच्छेदन साठी, आम्ही सेट दरम्यान सामान्य घटक राखण्यासाठी रिटेनऑल पद्धत वापरतो. 2 सेटमधील फरक शोधण्यासाठी आम्ही काढण्याची सर्व पद्धत वापरतो जी सेट 2 मधील सामान्य घटकांसह सेट 1 मधील सर्व घटक काढून टाकेल.

import java.util.*;

public class SetOperations {

  public static void main(String[] args) {
    Set<Integer> set1 = new HashSet<Integer>();
    set1.add(3);
    set1.add(7);
    set1.add(5);
    set1.add(1);
    System.out.println("Set 1 : " + set1);
    
    Set<Integer> set2 = new HashSet<Integer>();
    set2.add(3);
    set2.add(4);
    set2.add(9);
    set2.add(5);
    
    System.out.println("Set 2 : " + set2);
    
    Set<Integer> a = new HashSet<Integer>(set1);
    a.addAll(set2);
    
    System.out.println("Union of Set 1 and Set 2 : " + a);
    
    Set<Integer> b = new HashSet<Integer>(set1);
    b.retainAll(set2);
    System.out.println("Intersection of Set 1 and Set 2 : " + b);
    
    Set<Integer> c = new HashSet<Integer>(set1);
    c.removeAll(set2);
    System.out.println("Difference between Set 1 and Set 2 : " + c);
  }

}
Output:
Set 1 : [1, 3, 5, 7]
Set 2 : [3, 4, 5, 9]
Union of Set 1 and Set 2 : [1, 3, 4, 5, 7, 9]
Intersection of set 1 and set 2 : [3, 5]
Difference between 2 sets : [1, 7]

निष्कर्ष  

या ट्यूटोरियल मध्ये आपण सेट इन जावा आणि विविध मॅनिपुलेशनसाठी सेट कसा तयार करावा आणि वापरायचा याबद्दल शिकलात.

हे सुद्धा पहा
जावा मध्ये गणने

संदर्भ