De sett er et grensesnitt tilgjengelig i java.util pakke. De sett grensesnitt utvider samlingsgrensesnittet. En uordnet samling eller liste der duplikater ikke er tillatt, refereres til som en samlingsgrensesnitt . Settgrensesnittet brukes til å lage det matematiske settet. Sett-grensesnittet bruker samlingsgrensesnittets metoder for å unngå innsetting av de samme elementene. SortertSett og Navigerbart sett er to grensesnitt som utvider setteimplementeringen.
I diagrammet ovenfor er Navigerbart sett og SortertSett er begge grensesnittene. De Navigerbart sett utvider SortedSet, slik at det ikke vil beholde innsettingsrekkefølgen og lagre dataene på en sortert måte.
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); } }
Produksjon:
Merk: Gjennom hele delen har vi kompilert programmet med filnavn og kjørt programmet med klassenavn. Fordi filnavnet og klassenavnet er forskjellige.
Operasjoner på settgrensesnittet
På settet kan vi utføre alle grunnleggende matematiske operasjoner som skjæring, forening og forskjell.
Anta at vi har to sett, dvs. sett1 = [22, 45, 33, 66, 55, 34, 77] og sett2 = [33, 2, 83, 45, 3, 12, 55]. Vi kan utføre følgende operasjon på settet:
I sett, Legg til alle() metoden brukes til å utføre foreningen, retainAll() metoden brukes til å utføre krysset og Fjern alle() metoden brukes til å utføre forskjell. La oss ta et eksempel for å forstå hvordan disse metodene brukes til å utføre skjærings-, forenings- og differanseoperasjoner.
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); } }
Produksjon:
Beskrivelse:
I koden ovenfor oppretter vi først to matriser, dvs. A og B av typen heltall. Etter det lager vi to sett, dvs. sett1 og sett2 av typen heltall. Vi konverterer både arrayen til en liste og legger til elementene i array A til sett1 og elementene i array B til sett2.
For å utføre foreningen lager vi et nytt sett union_data med samme element i settet1. Vi kaller deretter addAll()-metoden for sett og sender set2 som et argument til den. Denne metoden vil legge til alle disse elementene til union_data som ikke er tilstede i den og gir foreningen av begge settene.
For å utføre krysset lager vi et nytt sett intersection_data med samme element i settet1. Vi kaller deretter retainAll()-metoden for sett og sender set2 som et argument til den. Denne metoden vil få alle disse elementene fra intersection_data som er tilstede i sett2 og lagrer det i intersection_data. Nå inneholder intersection_data skjæringsverdien til begge settene.
streng i c
For å utføre forskjellen lager vi et nytt sett forskjellsdata med samme element i settet1. Vi kaller deretter removeAll()-metoden for sett og sender set2 som et argument til den. Denne metoden vil fjerne alle disse elementene fra forskjellsdata som er tilstede i sett2 og gir forskjellen på begge settene.
Angi metoder
Det er flere metoder tilgjengelig i settgrensesnittet som vi kan bruke til å utføre en bestemt operasjon på settene våre. Disse metodene er som følger:
1) legg til()
Add()-metoden setter inn en ny verdi i settet. Metoden returnerer sant og usant avhengig av tilstedeværelsen av innsettingselementet. Den returnerer usann hvis elementet allerede er til stede i settet og returnerer sant hvis det ikke er til stede i settet.
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); } }
Produksjon:
2) addAll()
AddAll()-metoden legger til alle elementene i den angitte samlingen til settet.
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); } }
Produksjon:
3) fjern()
Metoden fjerner alle elementene fra settet. Den sletter ikke referansen til settet. Den sletter bare elementene i settet.
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); } }
Produksjon:
4) inneholder()
Metoden contains() brukes til å vite tilstedeværelsen av et element i settet. Returverdien er sann eller usann avhengig av tilstedeværelsen av 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)); } }
Produksjon:
5) containsAll()
Metoden brukes til å sjekke om alle elementene i samlingen er tilgjengelige i det eksisterende settet eller ikke. Den returnerer true hvis alle elementene i samlingen er tilstede i settet og returnerer usant selv om ett av elementene mangler i det eksisterende settet.
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)); } }
Produksjon:
6) hashCode()
Metoden brukes til å utlede hash-kodeverdien for gjeldende forekomst av settet. Den returnerer hash-kodeverdi av heltallstype.
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()); } }
Produksjon:
7) er tom()
Metoden isEmpty() brukes til å identifisere tomheten til settet. Det returnerer sant hvis settet er tomt og returnerer usant hvis settet 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()); } }
Produksjon:
8) iterator()
Iterator()-metoden brukes til å finne iteratoren til settet. Iteratoren brukes til å få elementet en etter en.
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()); } } }
Produksjon:
9) fjern()
Metoden brukes til å fjerne et spesifisert element fra settet. Returverdien avhenger av elementets tilgjengelighet. Den returnerer true hvis elementet er tilgjengelig i settet og returnerer usant hvis det ikke er tilgjengelig i settet.
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); } }
Produksjon:
11) removeAll()
Metoden fjerner alle elementene i det eksisterende settet fra den angitte samlingen.
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); } }
Produksjon:
11) retainAll()
Metoden beholder alle elementene fra settet spesifisert i den gitte samlingen.
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); } }
Produksjon:
12) størrelse()
Metoden returnerer størrelsen på settet.
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()); } }
Produksjon:
13) removeAll()
Metoden brukes til å lage en matrise med de samme elementene i settet.
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('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;>