A készlet egy interfész elérhető a java.util csomag. A készlet interfész kiterjeszti a Gyűjtemény felületet. Az olyan rendezetlen gyűjteményt vagy listát, amelyben nem engedélyezettek az ismétlődések, a gyűjtőfelület . A készlet interfész a matematikai halmaz létrehozására szolgál. A beállított felület a gyűjtőfelület metódusait használja, hogy elkerülje az azonos elemek beillesztését. SortedSet és NavigableSet két interfész, amelyek kiterjesztik a készlet megvalósítását.
A fenti ábrán a NavigableSet és SortedSet mindkettő interfész. A NavigableSet kiterjeszti a SortedSet-et, így nem tartja meg a beillesztési sorrendet, és rendezve tárolja az adatokat.
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); } }
Kimenet:
Megjegyzés: A szakaszban a programot fájlnévvel fordítottuk le, és osztálynévvel futtattuk. Mert a fájlnév és az osztálynév különbözik.
Műveletek a Set Interfészen
A Készletben elvégezhetjük az összes alapvető matematikai műveletet, mint a metszéspont, az unió és a különbség.
Tegyük fel, hogy két halmazunk van, azaz halmaz1 = [22, 45, 33, 66, 55, 34, 77] és halmaz2 = [33, 2, 83, 45, 3, 12, 55]. A következő műveleteket tudjuk elvégezni a készüléken:
készletben, az összes hozzáadása() módszert alkalmazzák az egyesülés végrehajtására, megtart minden() módszerrel hajtják végre a kereszteződést és összes eltávolítása() módszert használják a különbség végrehajtására. Vegyünk egy példát, hogy megértsük, hogyan használják ezeket a módszereket a metszésponti, egyesítési és különbségi műveletek végrehajtására.
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); } }
Kimenet:
Leírás:
A fenti kódban először két tömböt hozunk létre, azaz egész típusú A és B tömböt. Ezt követően hozunk létre két halmazt, azaz a set1-et és a set2-t, amelyek egész típusúak. Mindkét tömböt listává alakítjuk, és az A tömb elemeit hozzáadjuk a set1-hez, a B tömb elemeit pedig a halmazhoz2.
Az unió végrehajtásához új készletet készítünk union_data a halmaz azonos elemével1. Ezután meghívjuk a halmaz addAll() metódusát, és argumentumként adjuk át neki a set2-t. Ez a módszer hozzáadja az összes elemet a union_data amelyek nincsenek benne és megadja mindkét halmaz unióját.
A kereszteződés végrehajtásához új halmazt hozunk létre kereszteződés_adatai a halmaz azonos elemével1. Ezután meghívjuk a halmaz retainAll() metódusát, és argumentumként átadjuk neki a set2-t. Ez a módszer az összes elemet megkapja a kereszteződés_adatai amelyek jelen vannak a set2-ben, és az intersection_data-ban tárolják. Most az intersection_data mindkét halmaz metszéspontját tartalmazza.
A különbség teljesítéséhez új készletet készítünk különbség_adat a halmaz azonos elemével1. Ezután meghívjuk a set removeAll() metódusát, és a set2-t argumentumként adjuk át neki. Ez a módszer eltávolítja az összes elemet a különbség_adat amelyek jelen vannak a halmazban2 és megadja mindkét halmaz különbségét.
Módszerek beállítása
A halmazfelületen több módszer is elérhető, amelyek segítségével egy bizonyos műveletet végrehajthatunk halmazainkon. Ezek a módszerek a következők:
1) add ()
Az add() metódus új értéket szúr be a halmazba. A metódus igaz és hamis értéket ad vissza a beillesztési elem jelenlététől függően. Hamis értéket ad vissza, ha az elem már jelen van a halmazban, és igazat ad vissza, ha nincs jelen a halmazban.
Szintaxis:
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); } }
Kimenet:
2) AddAll()
Az addAll() metódus a megadott gyűjtemény összes elemét hozzáfűzi a halmazhoz.
Szintaxis:
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); } }
Kimenet:
3) egyértelmű()
A módszer eltávolítja az összes elemet a halmazból. Nem törli a készlet hivatkozását. Csak a halmaz elemeit törli.
Szintaxis:
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); } }
Kimenet:
4) tartalmazza ()
A include() metódus arra szolgál, hogy megismerjük egy elem jelenlétét a halmazban. Visszatérési értéke igaz vagy hamis az elem jelenlététől függően.
Szintaxis:
boolean contains(Object element)
SetExample6.java
ddl vs dml
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)); } }
Kimenet:
5) tartalmazza az összeset()
A módszerrel ellenőrizhető, hogy a gyűjtemény összes eleme elérhető-e a meglévő halmazban vagy sem. Igazat ad vissza, ha a gyűjtemény összes eleme jelen van a halmazban, és hamis értéket ad vissza akkor is, ha valamelyik elem hiányzik a meglévő halmazból.
Szintaxis:
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)); } }
Kimenet:
6) hashCode()
A módszer a készlet aktuális példányának hash kód értékének származtatására szolgál. Egész típusú hash kódot ad vissza.
Szintaxis:
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()); } }
Kimenet:
7) üres()
Az isEmpty() metódus a halmaz ürességének azonosítására szolgál. Igazat ad vissza, ha a halmaz üres, és hamis értéket, ha a halmaz nem üres.
Szintaxis:
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()); } }
Kimenet:
internet használata
8) iterátor()
Az iterator() metódus a halmaz iterátorának megkeresésére szolgál. Az iterátor az elem egyenkénti lekérésére szolgál.
Szintaxis:
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()); } } }
Kimenet:
9) távolítsa el ()
A módszer egy meghatározott elem eltávolítására szolgál a készletből. Visszatérési értéke az elem elérhetőségétől függ. Igazat ad vissza, ha az elem elérhető a halmazban, és false értéket ad vissza, ha nem érhető el a halmazban.
Szintaxis:
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); } }
Kimenet:
11) RemoveAll()
A metódus eltávolítja a meglévő halmaz összes elemét a megadott gyűjteményből.
Szintaxis:
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); } }
Kimenet:
11) megtart minden()
A metódus az adott gyűjteményben megadott halmaz összes elemét megtartja.
Szintaxis:
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); } }
Kimenet:
12) méret()
A metódus a halmaz méretét adja vissza.
Szintaxis:
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()); } }
Kimenet:
13) RemoveAll()
A metódus a halmaz azonos elemeivel tömb létrehozására szolgál.
Szintaxis:
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;>