logo

Gelegen op Java

De set is een interface beschikbaar in de java.util pakket. De set interface breidt de collectie-interface uit. Een ongeordende verzameling of lijst waarin duplicaten niet zijn toegestaan, wordt een collectie-interface . De set-interface wordt gebruikt om de wiskundige set te maken. De set-interface gebruikt de methoden van de verzamelingsinterface om het invoegen van dezelfde elementen te voorkomen. GesorteerdeSet En NavigeerbareSet zijn twee interfaces die de set-implementatie uitbreiden.

Gelegen op Java

In het bovenstaande diagram is de NavigeerbareSet En GesorteerdeSet zijn beide interfaces. De NavigeerbareSet breidt de SortedSet uit, zodat deze de invoegvolgorde niet behoudt en de gegevens op een gesorteerde manier opslaat.

afbeeldingen centreren in css

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

Uitgang:

Gelegen op Java

Opmerking: in deze sectie hebben we het programma met de bestandsnaam gecompileerd en het programma met de klassenaam uitgevoerd. Omdat de bestandsnaam en de klassenaam verschillend zijn.

Bewerkingen op de set-interface

Op de set kunnen we alle wiskundige basisbewerkingen uitvoeren, zoals snijpunt, vereniging en verschil.

Stel dat we twee sets hebben, d.w.z. set1 = [22, 45, 33, 66, 55, 34, 77] en set2 = [33, 2, 83, 45, 3, 12, 55]. We kunnen de volgende bewerking uitvoeren op de set:

    Kruispunt:De snijbewerking retourneert al die elementen die in beide sets aanwezig zijn. Het snijpunt van set1 en set2 is [33, 45, 55].Unie:De samenvoegbewerking retourneert alle elementen van set1 en set2 in een enkele set, en die set kan set1 of set2 zijn. De vereniging van set1 en set2 is [2, 3, 12, 22, 33, 34, 45, 55, 66, 77, 83].Verschil:De verschilbewerking verwijdert de waarden uit de set die aanwezig zijn in een andere set. Het verschil tussen set1 en set2 is [66, 34, 22, 77].

In set, Voeg alles toe() methode wordt gebruikt om de unie uit te voeren, behoudenAlles() methode wordt gebruikt om de kruising uit te voeren en Verwijder alles() methode wordt gebruikt om verschil uit te voeren. Laten we een voorbeeld nemen om te begrijpen hoe deze methoden worden gebruikt om de bewerkingen voor snijpunten, samenvoegingen en verschillen uit te voeren.

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

Uitgang:

Gelegen op Java

Beschrijving:

In de bovenstaande code maken we eerst twee arrays, dat wil zeggen A en B van het type geheel getal. Daarna maken we twee sets, d.w.z. set1 en set2 van het type geheel getal. We converteren zowel de array naar een lijst en voegen de elementen van array A toe aan set1 en elementen van array B aan set2.

Voor het uitvoeren van de unie maken we een nieuwe set union_data met hetzelfde element van de set1. Vervolgens roepen we de methode addAll() van set aan en geven we set2 als argument door. Deze methode voegt al deze elementen toe aan het union_data die er niet in aanwezig zijn en geeft de vereniging van beide sets.

Voor het uitvoeren van de kruising maken we een nieuwe set intersectie_data met hetzelfde element van de set1. Vervolgens roepen we de methode retainAll() van set aan en geven we set2 als argument door. Deze methode haalt al die elementen uit de intersectie_data die aanwezig zijn in set2 en slaan deze op in de intersection_data. Nu bevat de intersection_data de snijpuntwaarde van beide sets.

Om het verschil uit te voeren, maken we een nieuwe set verschilgegevens met hetzelfde element van de set1. Vervolgens roepen we de methode removeAll() van set aan en geven we set2 als argument door. Deze methode verwijdert al deze elementen uit de verschilgegevens die aanwezig zijn in set2 en geeft het verschil tussen beide sets weer.

Methoden instellen

Er zijn verschillende methoden beschikbaar in de set-interface die we kunnen gebruiken om een ​​bepaalde bewerking op onze sets uit te voeren. Deze methoden zijn als volgt:

1) toevoegen()

De add() methode voegt een nieuwe waarde toe aan de set. De methode retourneert waar en onwaar, afhankelijk van de aanwezigheid van het invoegelement. Het retourneert false als het element al in de set aanwezig is en retourneert true als het niet in de set aanwezig is.

Syntaxis:

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

Uitgang:

Gelegen op Java

2) alles toevoegen()

De methode addAll() voegt alle elementen van de opgegeven verzameling toe aan de set.

Syntaxis:

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

Uitgang:

Gelegen op Java

3) helder()

De methode verwijdert alle elementen uit de set. De referentie van de set wordt niet verwijderd. Het verwijdert alleen de elementen van de set.

Syntaxis:

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

Uitgang:

Gelegen op Java

4) bevat()

De methode contain() wordt gebruikt om de aanwezigheid van een element in de set te achterhalen. De retourwaarde is waar of onwaar, afhankelijk van de aanwezigheid van het element.

Syntaxis:

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

Uitgang:

Gelegen op Java

5) bevatAlles()

De methode wordt gebruikt om te controleren of alle elementen van de collectie beschikbaar zijn in de bestaande set of niet. Het retourneert waar als alle elementen van de verzameling aanwezig zijn in de set en retourneert false, zelfs als een van de elementen ontbreekt in de bestaande set.

Syntaxis:

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

Uitgang:

a b c-nummers
Gelegen op Java

6) hashCode()

De methode wordt gebruikt om de hashcodewaarde voor het huidige exemplaar van de set af te leiden. Het retourneert een hashcodewaarde van het type geheel getal.

Syntaxis:

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

Uitgang:

Gelegen op Java

7) isLeeg()

De methode isEmpty() wordt gebruikt om de leegte van de set te identificeren. Het retourneert waar als de set leeg is en retourneert false als de set niet leeg is.

Syntaxis:

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

Uitgang:

Gelegen op Java

8) iterator()

De iterator() methode wordt gebruikt om de iterator van de set te vinden. De iterator wordt gebruikt om het element één voor één op te halen.

Syntaxis:

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

Uitgang:

Gelegen op Java

9) verwijder()

De methode wordt gebruikt om een ​​gespecificeerd element uit de set te verwijderen. De retourwaarde is afhankelijk van de beschikbaarheid van het element. Het retourneert waar als het element beschikbaar is in de set en retourneert false als het niet beschikbaar is in de set.

Syntaxis:

 boolean remove(Object O) 

SetExample11.java

verwijder hoekige cli
 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); } } 

Uitgang:

Gelegen op Java

11) verwijderAlles()

De methode verwijdert alle elementen van de bestaande set uit de opgegeven verzameling.

Syntaxis:

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

Uitgang:

Gelegen op Java

11) behoudenAlles()

De methode behoudt alle elementen uit de set die in de gegeven verzameling is gespecificeerd.

Syntaxis:

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

Uitgang:

Gelegen op Java

12) maat()

De methode retourneert de grootte van de set.

Syntaxis:

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

Uitgang:

Gelegen op Java

13) verwijderAlles()

De methode wordt gebruikt om een ​​array te maken met dezelfde elementen uit de set.

Syntaxis:

 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;>