The soubor je rozhraní dostupné v java.util balík. The soubor rozhraní rozšiřuje rozhraní kolekce. Neuspořádaná sbírka nebo seznam, ve kterém nejsou povoleny duplikáty, se označuje jako a sběrné rozhraní . Rozhraní množiny se používá k vytvoření matematické množiny. Rozhraní sady používá metody sběrného rozhraní, aby se zabránilo vkládání stejných prvků. SortedSet a NavigableSet jsou dvě rozhraní, která rozšiřují implementaci sady.
Ve výše uvedeném diagramu je NavigableSet a SortedSet jsou obě rozhraní. The NavigableSet rozšiřuje SortedSet, takže neuchová pořadí vložení a uloží data seřazeným způsobem.
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); } }
Výstup:
Poznámka: V celé sekci jsme zkompilovali program s názvem souboru a spustili program s názvem třídy. Protože název souboru a název třídy se liší.
Operace na rozhraní Set
Na množině můžeme provádět všechny základní matematické operace jako průnik, sjednocení a rozdíl.
char + int v jazyce Java
Předpokládejme, že máme dvě množiny, tj. množina1 = [22, 45, 33, 66, 55, 34, 77] a množina2 = [33, 2, 83, 45, 3, 12, 55]. Na Setu můžeme provést následující operace:
v sadě, přidat vše() metoda se používá k provedení spojení, zachovat vše() metoda se používá k provedení průniku a odebrat všechny() metoda se používá k provedení rozdílu. Vezměme si příklad, abychom pochopili, jak se tyto metody používají k provádění operací průniku, sjednocení a rozdílu.
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); } }
Výstup:
Popis:
Ve výše uvedeném kódu nejprve vytvoříme dvě pole, tj. A a B typu integer. Poté vytvoříme dvě sady, tj. sadu1 a sadu2 typu integer. Pole převedeme na seznam a přidáme prvky pole A do sady1 a prvky pole B do sady2.
Pro provedení spojení vytvoříme novou sadu union_data se stejným prvkem množiny1. Potom zavoláme metodu addAll() set a předáme jí jako argument set2. Tato metoda přidá všechny tyto prvky do union_data které v něm nejsou přítomny a dává spojení obou množin.
Pro provedení průniku vytvoříme novou množinu průsečík_data se stejným prvkem množiny1. Potom zavoláme metodu keepAll() set a předáme jí jako argument sadu set2. Tato metoda získá všechny tyto prvky z průsečík_data které jsou přítomny v sadě2 a ukládají je do intersection_data. Intersection_data nyní obsahuje průsečíkovou hodnotu obou sad.
Pro provedení rozdílu vytvoříme novou sadu rozdílová_data se stejným prvkem množiny1. Poté zavoláme metodu removeAll() set a předáme jí jako argument set2. Tato metoda odstraní všechny tyto prvky z rozdílová_data které jsou přítomny v množině2 a udává rozdíl obou množin.
Nastavit metody
V rozhraní množin je k dispozici několik metod, kterými můžeme na našich množinách provést určitou operaci. Tyto metody jsou následující:
1) přidat()
Metoda add() vloží do sady novou hodnotu. Metoda vrací true a false v závislosti na přítomnosti prvku vložení. Vrací hodnotu false, pokud je prvek již v sadě přítomen, a vrátí hodnotu true, pokud v sadě není.
Syntax:
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); } }
Výstup:
2) addAll()
Metoda addAll() připojí všechny prvky zadané kolekce k sadě.
Syntax:
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); } }
Výstup:
3) vymazat()
Metoda odstraní všechny prvky ze sady. Neodstraní odkaz na sadu. Vymaže pouze prvky sady.
Syntax:
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); } }
Výstup:
4) obsahuje()
Metoda obsahuje() se používá ke zjištění přítomnosti prvku v množině. Jeho návratová hodnota je true nebo false v závislosti na přítomnosti prvku.
Syntax:
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)); } }
Výstup:
5) obsahujeVše()
Metoda se používá ke kontrole, zda jsou všechny prvky kolekce dostupné ve stávající sadě či nikoliv. Vrátí hodnotu true, pokud jsou v sadě přítomny všechny prvky kolekce, a vrátí hodnotu false, i když jeden z prvků v existující sadě chybí.
Syntax:
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)); } }
Výstup:
6) hashCode()
Metoda se používá k odvození hodnoty hash kódu pro aktuální instanci sady. Vrací hodnotu hash kódu typu integer.
Syntax:
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()); } }
Výstup:
7) isEmpty()
Metoda isEmpty() se používá k identifikaci prázdnoty sady. Pokud je množina prázdná, vrátí hodnotu true a pokud množina není prázdná, vrátí hodnotu false.
Syntax:
konstruktor v Javě
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()); } }
Výstup:
8) iterátor()
Metoda iterator() se používá k nalezení iterátoru sady. Iterátor se používá k získání prvku jeden po druhém.
Syntax:
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()); } } }
Výstup:
9) odstranit()
Metoda se používá k odstranění zadaného prvku ze sady. Jeho návratová hodnota závisí na dostupnosti prvku. Vrací hodnotu true, pokud je prvek v sadě dostupný, a vrací hodnotu false, pokud je v sadě nedostupný.
Syntax:
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); } }
Výstup:
11) removeAll()
Metoda odebere všechny prvky existující sady ze zadané kolekce.
Syntax:
public boolean removeAll(Collection data)
SetExample12.java
verze pro Android
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); } }
Výstup:
11) keepAll()
Metoda zachovává všechny prvky ze sady specifikované v dané kolekci.
Syntax:
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); } }
Výstup:
12) velikost()
Metoda vrací velikost množiny.
Syntax:
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()); } }
Výstup:
13) removeAll()
Metoda se používá k vytvoření pole se stejnými prvky množiny.
Syntax:
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;>