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



Java जावा सेट सेट

जावा सेट इन्टरफेस कुनै पनि डुप्लिकेट एलिमेन्ट समावेश गर्दैन तत्वहरूको एक अनर्डर्ड संग्रह हो। सेट इन्टरफेस जावा मा गणितीय सेट को सुविधा प्रदान गर्दछ। यस ट्यूटोरियलमा, हामी जाभा सेट विधिहरू र उनीहरूको प्रयोगको विभिन्न जाभा सेट उदाहरण कभर गर्नेछौं।

सेट इन्टरफेस को विशेषताहरु

  • यसले अद्वितीय तत्वहरू समावेश गर्दछ जसको मतलब यसले डुप्लिकेट मानहरूलाई अनुमति दिदैन
  • जावा सेट को तत्वहरु को भण्डारण मा कुनै अर्डर छैन
  • योसँग कुनै सूचकांक छैन त्यसैले हामी स्थितिको आधारमा कुनै पनि तत्वहरू पहुँच गर्न सक्दैनौं।
  • यो एक इन्टरफेस भएकोले, हामी यसलाई सेट कार्यान्वयन कक्षाको कुनै पनि प्रयोग गरेर कार्यान्वयन गर्न सक्दछौं
  • संग्रह इन्टरफेस विस्तार गर्दछ

जावा सेट र जाभा सूची बीचको भिन्नता

  • जावा सेट तत्वहरूको एक अनर्डर्ड संग्रह हो जबकि सूची तत्वहरूको एक अर्डर गरिएको संग्रह हो।
  • सेटसँग अनुक्रमणिकामा आधारित पहुँच छैन तर सूचीमा अनुक्रमणिका हुन्छ जुन हामीले तत्वहरू पहुँच गर्न सक्दछौं।
  • सेटमा हामी नक्कल मानहरू थप्न सक्दैनौं जबकि सूचीले नक्कल मानहरू थप्न अनुमति दिँदछ।

कार्यान्वयन सेट गर्नुहोस्

देखि जावा सेट एक ईन्टरफेस हो, हामी सिधै वस्तु सिर्जना गर्न सक्दैनौं। तसर्थ हामीले कुनै एक वर्ग लागू गर्न आवश्यक छ जस्तै ह्याससेट, TreeSet, LinkedHashSet, वा EnumSet। प्रत्येक सेट वर्ग फरक तरिकाले व्यवहार गर्दछ तल छलफल गरिएको जस्तो:

  • ह्याससेट - त्यहाँ कुनै अर्डर वा एलिमेन्सको क्रम छैन जब सेटको माध्यमबाट ट्राभर्स गर्दै।
  • TreeSet - यो क्रमबद्ध साथ तत्वहरूको क्रम बचाउँछ
  • लिंक्डहेशसेट - यसले तत्वहरूको क्रम सम्मिलित गरे जस्तै सुरक्षित गर्दछ

जाभा सेट गर्नुहोस्

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

सेट इन्टरफेस लागू गर्नका लागि, हामीले 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();

  }

}

हामी जेनेरिक सेट पनि सिर्जना गर्न सक्दछौं जुन तल देखाईएको छ। यहाँ हामीले स्ट्रिंग प्रकार र TreeSet को रूपमा एक पूर्णांक प्रकार को रूप मा ह्याससेट निर्दिष्ट गरेका छौं। तसर्थ यी वस्तुहरूले यी विशिष्ट प्रकारहरूको मात्र मानहरू स्वीकार गर्दछन्।

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>();
  }
}

जावा सेट विधिहरू

सेटले संग्रह र इन्टरफेसको सबै विधिहरू तल उल्लेखित विधिहरू समावेश गर्दछ।

विधिविवरणप्यारामिटर
बुलियन एड (स्ट्रिंग ई)सेटमा एक तत्व थप गर्दछ यदि यो पहिले नै अवस्थित छैन। यो गलत फिर्ता हुन्छ यदि तत्व सेट मा पहिले नै अवस्थित छ र कललाई बेवास्ता गर्दछe - तत्व सेट गर्न को लागी
बुलियन एडआल (सc्ग्रह)संग्रहमा सबै तत्वहरू सेटमा थप्दछ यदि यो प्रस्तुत गर्दैन भनेc - तत्वहरूको संग्रह जोडियो
खाली शून्य ()सेटबाट सबै तत्वहरू हटाउछ र सेट खाली हुनेछ
बुलियन समावेश गर्दछ (वस्तु ओ)सेटमा एलिमेन्ट छ कि छैन जाँच गर्दछ र यदि प्रस्तुत हुन्छ भने सही हुन्छo - तत्व सेट मा खोजी गर्न
बुलियन समावेश सबै (संग्रह सी)स the्ग्रह सेटको उपसेट छ वा छैन र यदि प्रस्तुत भएको छ भने फर्काउँछc - तत्वहरूको संग्रह
बुलियन बराबर (ओब्जेक्ट ओ)पारित वस्तुको साथ सेटको समानता जाँच गर्दछ। यदि दुबै सेट गरीएको छ र उहि तत्वहरू र आकार समावेश गर्दछ भने यो सत्य फिर्ता हुन्छo - वस्तु जुन तुलना गर्न आवश्यक छ
बुलियन इम्प्टी ()सेट खाली छ कि छैन भनेर जाँच गर्दछ र खाली छ भने फर्किन्छ
Iterator iterator ()सेटमा एलिमेन्टहरू मार्फत नेभिगेट गर्न एक इटररेटर फर्काउँछ
बुलियन हटाउनुहोस् (वस्तु ओ)सेटबाट विशिष्ट तत्व हटाउँदछ र यदि तत्व हटाइयो भने सत्य फिर्ता हुन्छo - तत्व हटाउनु पर्छ
बुलियन हटाउने सबै (संग्रह सी)स present्ग्रहमा सबै तत्वहरूलाई सेटबाट हटाउँदछ यदि अवस्थित छc - हटाउन सकिने तत्त्वहरूको संग्रह
बुलियन रिटेनआल (संग्रह सी)सेटमा केवल एलिमेन्टहरू मात्र राख्दछ जसको मतलब यसले अन्य सबै तत्वहरूलाई हटाउँदछ जुन स of्ग्रहको अंश होईनc - तत्वहरूको संग्रह कायम गर्न
int आकार ()सेटमा एलिमेन्ट्सको संख्या फर्काउँछ
स्प्लिटइटेरेटर स्प्लिटिरेटर ()सेटमा एलिमेन्टहरूमा स्प्लिट इटरेटर बनाउँदछ
वस्तु [] बाट अर्रे ()सेटमा सबै तत्वहरू एर्रेमा रूपान्तरण गर्दछ
स्ट्रिङ toString ()वस्तुको स्ट्रिंग प्रतिनिधित्व फर्काउँछ

अपवाद सेट गर्नुहोस्

जावा सेट फेंक तलका अपवादहरू

  • असमर्थित अपरेसन एक्सेप्शन
  • NullPointerException
  • ClassCastException
  • अवैध तर्क अपवाद

सेटबाट तत्वहरू थप्नुहोस् र हटाउनुहोस्

तलको उदाहरणमा, हामी पहिले ह्याससेट सिर्जना गर्दछौं र २ तत्वहरू थप्दछौं। त्यसो भए हामी अर्को ह्याससेट सिर्जना गर्दछौं र २ थप तत्वहरू थप्दछौं। यो पछि पहिलो सेटमा संग्रहको रूपमा जोडियो।

उदाहरण को हटाउन को लागी, हामी पहिलो एलिमेन्ट पहिलो सेटबाट हटाउँदछौं र त्यसपछि सबै सेट्सलाई दोस्रो सेटबाट हटाउँछौं।

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]

TreeSet को प्रयोग गरेर तत्व क्रमबद्ध गर्दै

यहाँ हामीले इन्टिजरको एरे घोषित गरेका छौं र त्यसपछि एलिमेन्ट्स हससेटमा लूपको लागि प्रयोग गर्यौं। आउटपुटमा तपाईले देख्न सक्नुहुन्छ कि डुप्लिकेट एलिमेन्ट “१२” समावेश गरिएको छैन जुन सेट फिचर हो। तलका उदाहरणमा देखिए जस्तै हामी ट्रासेट प्रयोग गरेर ह्याशसेटको एलिमेन्टहरू क्रमबद्ध गर्न सक्दछौं।

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 मा रूपान्तरण गर्न सक्छौं array तल वर्णन गरिएको अनुसार 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

उदाहरण सेट अपरेसनको जावा प्रोग्राम (संघ, चौराहे, र भिन्नता)

यस उदाहरणमा, हामीले २ पूर्णांक सेटहरू सिर्जना गरेका छौं। २ सेटको मिलन प्रदर्शन गर्न, हामी addAll विधि प्रयोग गर्छौं, जुन दुबै सेटबाट सबै अद्वितीय तत्वहरू थप गर्दछ। प्रतिच्छेदनको लागि, हामी सेट्ट बिच साधारण तत्वहरू कायम राख्न रिटेनआल विधि प्रयोग गर्दछौं। २ सेट बीच भिन्नता फेला पार्न हामी हटाउने सबै विधि प्रयोग गर्दछौं जुन सेट २ मा आम तत्वहरूको साथ सेट २ मा सबै तत्वहरू हटाउनेछ।

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]

निष्कर्ष

यस ट्यूटोरियलमा तपाईले जाभामा सेट र बिभिन्न मेनिपुलेशनहरूको लागि सेट कसरी प्रयोग गर्ने र कसरी बनाउने सिक्नु भएको छ।

संदर्भ