The set je vmesnik, ki je na voljo v java.util paket. The set vmesnik razširja vmesnik zbirke. Neurejena zbirka ali seznam, v katerem dvojniki niso dovoljeni, se imenuje a zbirni vmesnik . Vmesnik nabora se uporablja za ustvarjanje matematičnega nabora. Nastavljeni vmesnik uporablja metode vmesnika zbirke, da se izogne vstavljanju istih elementov. SortedSet in NavigableSet sta dva vmesnika, ki razširjata implementacijo niza.
V zgornjem diagramu je NavigableSet in SortedSet sta oba vmesnika. The NavigableSet razširja SortedSet, tako da ne bo ohranil vrstnega reda vstavljanja in shranil podatkov na razvrščen način.
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); } }
Izhod:
Opomba: V celotnem razdelku smo prevedli program z imenom datoteke in zagnali program z imenom razreda. Ker se ime datoteke in ime razreda razlikujeta.
Operacije na vmesniku Set
Na nizu lahko izvajamo vse osnovne matematične operacije, kot so presek, unija in razlika.
Recimo, da imamo dva niza, tj. niz1 = [22, 45, 33, 66, 55, 34, 77] in niz2 = [33, 2, 83, 45, 3, 12, 55]. Na setu lahko izvedemo naslednje operacije:
V kompletu, dodajVse() metoda se uporablja za izvedbo spoja, ohraniVse() metoda se uporablja za izvedbo križišča in odstrani vse() metoda se uporablja za izvedbo razlike. Vzemimo primer, da razumemo, kako se te metode uporabljajo za izvajanje operacij presečišča, unije in razlike.
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); } }
Izhod:
Opis:
V zgornji kodi najprej ustvarimo dve matriki, tj. A in B tipa celo število. Nato ustvarimo dva niza, to sta set1 in set2 tipa integer. Matriko pretvorimo v seznam in dodamo elemente matrike A v niz1 in elemente matrike B v niz2.
Za izvedbo spoja ustvarimo nov komplet union_data z istim elementom množice1. Nato pokličemo metodo addAll() za set in ji posredujemo set2 kot argument. Ta metoda bo dodala vse te elemente v union_data ki v njem niso prisotni in daje unijo obeh množic.
java večnitnost
Za izvedbo križišča ustvarimo nov niz podatki o križišču z istim elementom množice1. Nato pokličemo metodo retainAll() za set in ji posredujemo set2 kot argument. Ta metoda bo pridobila vse te elemente iz podatki o križišču ki so prisotni v nizu2 in jih shranijo v intersection_data. Zdaj intersection_data vsebuje presečno vrednost obeh nizov.
Za izvedbo razlike ustvarimo nov komplet razlika_podatki z istim elementom množice1. Nato pokličemo metodo removeAll() za set in ji posredujemo set2 kot argument. Ta metoda bo odstranila vse te elemente iz razlika_podatki ki so prisotni v nizu2 in daje razliko obeh nizov.
Nastavite metode
V vmesniku nabora je na voljo več metod, s katerimi lahko izvedemo določeno operacijo na naših naborih. Te metode so naslednje:
1) dodaj()
Metoda add() vstavi novo vrednost v niz. Metoda vrne true in false, odvisno od prisotnosti elementa za vstavljanje. Vrne false, če je element že prisoten v nizu, in vrne true, če ni prisoten v nizu.
Sintaksa:
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); } }
Izhod:
2) dodajVse()
Metoda addAll() doda vse elemente podane zbirke naboru.
Sintaksa:
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); } }
Izhod:
rojen freddie mercury
3) počisti()
Metoda odstrani vse elemente iz niza. Ne izbriše sklica niza. Izbriše samo elemente nabora.
Sintaksa:
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); } }
Izhod:
4) vsebuje()
Metoda contains() se uporablja za poznavanje prisotnosti elementa v nizu. Njegova vrnjena vrednost je true ali false, odvisno od prisotnosti elementa.
Sintaksa:
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)); } }
Izhod:
5) vsebujeVse()
Metoda se uporablja za preverjanje, ali so vsi elementi zbirke na voljo v obstoječem nizu ali ne. Vrne true, če so v nizu prisotni vsi elementi zbirke, in vrne false, tudi če eden od elementov manjka v obstoječem nizu.
Sintaksa:
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)); } }
Izhod:
6) hashCode()
Metoda se uporablja za izpeljavo vrednosti zgoščene kode za trenutni primerek niza. Vrne vrednost zgoščene kode celega tipa.
Sintaksa:
shehzad poonawala
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()); } }
Izhod:
7) isEmpty()
Metoda isEmpty() se uporablja za identifikacijo praznosti niza. Vrne true, če je niz prazen, in vrne false, če niz ni prazen.
Sintaksa:
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()); } }
Izhod:
8) iterator()
Metoda iterator() se uporablja za iskanje iteratorja niza. Iterator se uporablja za pridobivanje elementov enega za drugim.
Sintaksa:
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()); } } }
Izhod:
9) odstrani()
Metoda se uporablja za odstranitev določenega elementa iz nabora. Njegova vrnjena vrednost je odvisna od razpoložljivosti elementa. Vrne true, če je element na voljo v nizu, in vrne false, če v nizu ni na voljo.
Sintaksa:
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); } }
Izhod:
11) odstraniVse()
Metoda odstrani vse elemente obstoječega niza iz navedene zbirke.
Sintaksa:
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); } }
Izhod:
11) obdržiVse()
Metoda obdrži vse elemente iz nabora, določenega v dani zbirki.
Sintaksa:
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); } }
Izhod:
12) velikost ()
Metoda vrne velikost nabora.
10 milijonov
Sintaksa:
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()); } }
Izhod:
13) odstraniVse()
Metoda se uporablja za ustvarjanje niza z enakimi elementi nabora.
Sintaksa:
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;>