The встановити це інтерфейс, доступний у java.util пакет. The встановити інтерфейс розширює інтерфейс колекції. Невпорядкована колекція або список, у якому дублікати не допускаються, називається a інтерфейс колекції . Інтерфейс набору використовується для створення математичного набору. Інтерфейс set використовує методи інтерфейсу колекції, щоб уникнути вставки однакових елементів. Відсортований набір і NavigableSet це два інтерфейси, які розширюють реалізацію набору.
На наведеній вище діаграмі NavigableSet і Відсортований набір це обидва інтерфейси. The NavigableSet розширює SortedSet, тому він не зберігатиме порядок вставки та зберігатиме дані у відсортований спосіб.
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); } }
Вихід:
Примітка: у цьому розділі ми скомпілювали програму з іменем файлу та запускали програму з іменем класу. Оскільки назва файлу та назва класу різні.
Операції в інтерфейсі Set
На наборі ми можемо виконувати всі основні математичні операції, такі як перетин, об’єднання та різниця.
Припустимо, ми маємо дві множини, тобто множина1 = [22, 45, 33, 66, 55, 34, 77] і множина2 = [33, 2, 83, 45, 3, 12, 55]. Ми можемо виконати наступні операції на наборі:
В наборі, addAll() метод використовується для виконання об'єднання, retainAll() метод використовується для виконання перетину і видалити все() метод використовується для виконання різниці. Розглянемо приклад, щоб зрозуміти, як ці методи використовуються для виконання операцій перетину, об’єднання та різниці.
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); } }
Вихід:
опис:
У наведеному вище коді спочатку ми створюємо два масиви, тобто A і B типу integer. Після цього ми створюємо два набори, тобто set1 і set2 типу integer. Ми перетворюємо масив на список і додаємо елементи масиву A в set1, а елементи масиву B в set2.
Для виконання об'єднання створюємо новий набір union_data з тим самим елементом множини1. Потім ми викликаємо метод addAll() для set і передаємо йому set2 як аргумент. Цей метод додасть усі ці елементи до union_data яких у ньому немає, і дає об’єднання обох множин.
Для виконання перетину створюємо новий набір дані_перетину з тим самим елементом множини1. Потім ми викликаємо метод retainAll() для set і передаємо йому set2 як аргумент. Цей метод отримає всі ці елементи з дані_перетину які присутні в наборі2 і зберігають його в intersection_data. Тепер intersection_data містить значення перетину обох наборів.
Для виконання різниці ми створюємо новий набір різниця_даних з тим самим елементом множини1. Потім ми викликаємо метод removeAll() для set і передаємо йому set2 як аргумент. Цей метод видалить усі ці елементи з різниця_даних які присутні в наборі2 і дає різницю обох наборів.
Набір методів
В інтерфейсі набору доступно кілька методів, які ми можемо використати для виконання певної операції над нашими наборами. Це такі методи:
1) додати()
Метод add() вставляє нове значення до набору. Метод повертає true і false залежно від наявності елемента вставки. Він повертає false, якщо елемент уже присутній у наборі, і повертає true, якщо його немає в наборі.
Синтаксис:
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); } }
Вихід:
2) addAll()
Метод addAll() додає всі елементи вказаної колекції до набору.
Синтаксис:
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); } }
Вихід:
3) ясно()
Метод видаляє всі елементи з набору. Це не видаляє посилання на набір. Він лише видаляє елементи набору.
Синтаксис:
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); } }
Вихід:
4) містить()
Метод contains() використовується для визначення наявності елемента в наборі. Його значення, що повертається, є істинним або хибним залежно від присутності елемента.
Синтаксис:
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)); } }
Вихід:
5) міститьВсе()
Метод використовується для перевірки наявності всіх елементів колекції в існуючому наборі чи ні. Він повертає true, якщо всі елементи колекції присутні в наборі, і повертає false, навіть якщо один з елементів відсутній в існуючому наборі.
Синтаксис:
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)); } }
Вихід:
6) hashCode()
Метод використовується для отримання значення хеш-коду для поточного екземпляра набору. Він повертає значення хеш-коду цілого типу.
Синтаксис:
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()); } }
Вихід:
7) isEmpty()
Метод isEmpty() використовується для визначення порожнечі набору. Він повертає true, якщо набір порожній, і повертає false, якщо набір не порожній.
Синтаксис:
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()); } }
Вихід:
8) ітератор()
Метод iterator() використовується для пошуку ітератора набору. Ітератор використовується для отримання елементів по одному.
Синтаксис:
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()); } } }
Вихід:
9) видалити()
Метод використовується для видалення зазначеного елемента з набору. Його значення, що повертається, залежить від доступності елемента. Він повертає true, якщо елемент доступний у наборі, і повертає false, якщо він недоступний у наборі.
Синтаксис:
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); } }
Вихід:
11) removeAll()
Метод видаляє всі елементи існуючого набору з указаної колекції.
Синтаксис:
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); } }
Вихід:
11) retainAll()
Метод зберігає всі елементи з набору, зазначеного в даній колекції.
Синтаксис:
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); } }
Вихід:
12) розмір()
Метод повертає розмір набору.
java math.min
Синтаксис:
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()); } }
Вихід:
13) removeAll()
Метод використовується для створення масиву з однаковими елементами множини.
Синтаксис:
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;>