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.
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:
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:
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:
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:
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:
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:
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:
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
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:
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:
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:
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:
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:
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:
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:
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('data: ' + data); Object[] array_data = data.toArray(); System.out.println('The array is:'); 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;>