logo

Indstillet i Java

Det sæt er en grænseflade tilgængelig i java.util pakke. Det sæt grænseflade udvider samlingsgrænsefladen. En uordnet samling eller liste, hvor dubletter ikke er tilladt, betegnes som en indsamlingsgrænseflade . Sættets interface bruges til at skabe det matematiske sæt. Den indstillede grænseflade bruger samlingsgrænsefladens metoder for at undgå indsættelse af de samme elementer. Sorteret Sæt og Navigerbart sæt er to grænseflader, der udvider sættets implementering.

Indstillet i Java

I ovenstående diagram er Navigerbart sæt og Sorteret Sæt er begge grænseflader. Det Navigerbart sæt udvider SortedSet, så det ikke beholder indsættelsesrækkefølgen og lagrer dataene på en sorteret måde.

SetExample1.java

 import java.util.*; public class setExample{ public static void main(String[] args) { // creating LinkedHashSet using the Set Set data = new LinkedHashSet(); data.add('JavaTpoint'); data.add('Set'); data.add('Example'); data.add('Set'); System.out.println(data); } } 

Produktion:

Indstillet i Java

Bemærk: Gennem hele afsnittet har vi kompileret programmet med filnavn og kørt programmet med klassenavn. Fordi filnavnet og klassenavnet er forskellige.

Operationer på sætgrænsefladen

På sættet kan vi udføre alle de grundlæggende matematiske operationer som skæring, forening og forskel.

Antag, at vi har to sæt, dvs. sæt1 = [22, 45, 33, 66, 55, 34, 77] og sæt2 = [33, 2, 83, 45, 3, 12, 55]. Vi kan udføre følgende handling på sættet:

    Vejkryds:Skæringsoperationen returnerer alle de elementer, der er til stede i begge sættet. Skæringspunktet mellem sæt1 og sæt2 vil være [33, 45, 55].Union:Unionsoperationen returnerer alle elementerne i sæt1 og sæt2 i et enkelt sæt, og det sæt kan enten være sæt1 eller sæt2. Foreningen af ​​sæt1 og sæt2 vil være [2, 3, 12, 22, 33, 34, 45, 55, 66, 77, 83].Forskel:Differenceoperationen sletter de værdier fra sættet, som er til stede i et andet sæt. Forskellen mellem sæt1 og sæt2 vil være [66, 34, 22, 77].

I sæt, addAll() metode bruges til at udføre foreningen, retainAll() metode bruges til at udføre krydset og Fjern alt() metode bruges til at udføre forskel. Lad os tage et eksempel for at forstå, hvordan disse metoder bruges til at udføre skærings-, forenings- og differensoperationerne.

SetExample2.java

 import java.util.*; public class SetOperations { public static void main(String args[]) { Integer[] A = {22, 45,33, 66, 55, 34, 77}; Integer[] B = {33, 2, 83, 45, 3, 12, 55}; Set set1 = new HashSet(); set1.addAll(Arrays.asList(A)); Set set2 = new HashSet(); set2.addAll(Arrays.asList(B)); // Finding Union of set1 and set2 Set union_data = new HashSet(set1); union_data.addAll(set2); System.out.print('Union of set1 and set2 is:'); System.out.println(union_data); // Finding Intersection of set1 and set2 Set intersection_data = new HashSet(set1); intersection_data.retainAll(set2); System.out.print('Intersection of set1 and set2 is:'); System.out.println(intersection_data); // Finding Difference of set1 and set2 Set difference_data = new HashSet(set1); difference_data.removeAll(set2); System.out.print('Difference of set1 and set2 is:'); System.out.println(difference_data); } } 

Produktion:

Indstillet i Java

Beskrivelse:

I ovenstående kode opretter vi først to arrays, dvs. A og B af typen heltal. Derefter opretter vi to sæt, dvs. sæt1 og sæt2 af typen heltal. Vi konverterer både arrayet til en liste og tilføjer elementerne i array A til sæt1 og elementer i array B til sæt2.

For at udføre foreningen opretter vi et nyt sæt union_data med det samme element i sættet1. Vi kalder derefter addAll() metoden for set og sender set2 som et argument til den. Denne metode vil tilføje alle disse elementer til union_data som ikke er til stede i det og giver foreningen af ​​begge sæt.

For at udføre krydset opretter vi et nyt sæt intersection_data med det samme element i sættet1. Vi kalder derefter retainAll() metoden for set og sender set2 som et argument til den. Denne metode vil få alle disse elementer fra intersection_data som er til stede i sæt2 og gemmer det i intersection_data. Nu indeholder intersection_data skæringsværdien af ​​begge sæt.

snor i c

For at udføre forskellen opretter vi et nyt sæt forskelsdata med det samme element i sættet1. Vi kalder derefter removeAll() metoden for set og sender set2 som et argument til den. Denne metode vil fjerne alle disse elementer fra forskelsdata som er til stede i sæt2 og giver forskellen på begge sæt.

Indstil metoder

Der er flere tilgængelige metoder i sætgrænsefladen, som vi kan bruge til at udføre en bestemt operation på vores sæt. Disse metoder er som følger:

1) tilføje()

Add()-metoden indsætter en ny værdi til sættet. Metoden returnerer sand og falsk afhængigt af tilstedeværelsen af ​​indsættelseselementet. Det returnerer falsk, hvis elementet allerede er til stede i sættet og returnerer sandt, hvis det ikke er til stede i sættet.

Syntaks:

 boolean add(type element). 

SetExample3.java

 import java.io.*; import java.util.*; public class addMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(11); data.add(61); data.add(51); System.out.println('data: ' + data); } } 

Produktion:

Indstillet i Java

2) addAll()

Metoden addAll() tilføjer alle elementerne i den angivne samling til sættet.

Syntaks:

 boolean addAll(Collection data) 

SetExample4.java

 import java.io.*; import java.util.*; class addAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); System.out.println('Set: ' + data); ArrayList newData = new ArrayList(); newData.add(91); newData.add(71); newData.add(81); data.addAll(newData); System.out.println('Set: ' + data); } } 

Produktion:

Indstillet i Java

3) clear()

Metoden fjerner alle elementer fra sættet. Det sletter ikke referencen til sættet. Det sletter kun elementerne i sættet.

Syntaks:

 void clear() 

SetExample5.java

 import java.io.*; import java.util.*; public class clearMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); System.out.println('Set: ' + data); data.clear(); System.out.println('The final set: ' + data); } } 

Produktion:

Indstillet i Java

4) indeholder()

Metoden contains() bruges til at kende tilstedeværelsen af ​​et element i sættet. Dens returværdi er sand eller falsk afhængigt af tilstedeværelsen af ​​elementet.

Syntaks:

 boolean contains(Object element) 

SetExample6.java

 import java.io.*; import java.util.*; class containsMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('Set: ' + data); System.out.println('Does the Set contains '91'?' + data.contains(91)); System.out.println('Does the Set contains 'javaTpoint'? ' + data.contains('4')); System.out.println('Does the Set contains '51'? ' + data.contains(51)); } } 

Produktion:

Indstillet i Java

5) indeholder Alle()

Metoden bruges til at kontrollere, om alle elementerne i samlingen er tilgængelige i det eksisterende sæt eller ej. Det returnerer sandt, hvis alle elementerne i samlingen er til stede i sættet og returnerer falsk, selvom et af elementerne mangler i det eksisterende sæt.

Syntaks:

 public boolean containsAll(Collection data) 

SetExample7.java

 import java.io.*; import java.util.*; class containsAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); Set newData = new LinkedHashSet(); newData.add(31); newData.add(21); newData.add(41); System.out.println('
Does data contains newData?: '+ data.containsAll(newData)); } } 

Produktion:

Indstillet i Java

6) hashCode()

Metoden bruges til at udlede hash-kodeværdien for den aktuelle forekomst af sættet. Det returnerer hash-kodeværdien af ​​heltalstypen.

Syntaks:

 public int hashCode() 

SetExample8.java

 import java.io.*; import java.util.*; class hashCodeMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); System.out.println('
The hash code value of set is:'+ data.hashCode()); } } 

Produktion:

Indstillet i Java

7) er tom()

Metoden isEmpty() bruges til at identificere tomheden af ​​sættet. Det returnerer sandt, hvis sættet er tomt, og returnerer falsk, hvis sættet ikke er tomt.

Syntaks:

 boolean isEmpty() 

SetExample9.java

 import java.io.*; import java.util.*; class isEmptyMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); System.out.println('
Is data empty?: '+ data.isEmpty()); } } 

Produktion:

Indstillet i Java

8) iterator()

Iterator()-metoden bruges til at finde sættets iterator. Iteratoren bruges til at få elementet én efter én.

Syntaks:

 Iterator iterate_value = set1.iterator(); 

SetExample10.java

 import java.io.*; import java.util.*; class iteratorMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); Iterator newData = data.iterator(); System.out.println('The NewData values are: '); while (newData.hasNext()) { System.out.println(newData.next()); } } } 

Produktion:

Indstillet i Java

9) fjern()

Metoden bruges til at fjerne et specificeret element fra sættet. Dets returværdi afhænger af elementets tilgængelighed. Det returnerer sandt, hvis elementet er tilgængeligt i sættet og returnerer falsk, hvis det ikke er tilgængeligt i sættet.

Syntaks:

 boolean remove(Object O) 

SetExample11.java

 import java.io.*; import java.util.*; class removeMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); data.remove(81); data.remove(21); data.remove(11); System.out.println('data after removing elements: ' + data); } } 

Produktion:

Indstillet i Java

11) removeAll()

Metoden fjerner alle elementer i det eksisterende sæt fra den angivne samling.

Syntaks:

 public boolean removeAll(Collection data) 

SetExample12.java

 import java.io.*; import java.util.*; class removeAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); ArrayList newData = new ArrayList(); newData.add(91); newData.add(71); newData.add(81); System.out.println('NewData: ' + newData); data.removeAll(newData); System.out.println('data after removing Newdata elements : ' + data); } } 

Produktion:

Indstillet i Java

11) retainAll()

Metoden beholder alle elementerne fra sættet specificeret i den givne samling.

Syntaks:

 public boolean retainAll(Collection data) 

SetExample13.java

 import java.io.*; import java.util.*; class retainAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); ArrayList newData = new ArrayList(); newData.add(91); newData.add(71); newData.add(81); System.out.println('newData: ' + newData); data.retainAll(newData); System.out.println('data after retaining newdata elements : ' + data); } } 

Produktion:

Indstillet i Java

12) størrelse()

Metoden returnerer størrelsen af ​​sættet.

Syntaks:

 int size() 

SetExample14.java

 import java.io.*; import java.util.*; class sizeMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); System.out.println('size of the data is : ' + data.size()); } } 

Produktion:

Indstillet i Java

13) removeAll()

Metoden bruges til at skabe et array med de samme elementer i sættet.

Syntaks:

 Object[] toArray() 

SetExample15.java

 import java.io.*; import java.util.*; class toArrayMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println(&apos;data: &apos; + data); Object[] array_data = data.toArray(); System.out.println(&apos;The array is:&apos;); for (int i = 0; i <array_data.length; i++) system.out.println(array_data[i]); } < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/81/set-java-16.webp" alt="Set in Java"> <hr></array_data.length;>