Інтерфейс Java Set

У цьому посібнику ми дізнаємося про інтерфейс Set у Java та його методи.

SetІнтерфейс Java Collectionsоснови забезпечує функцію математичного набору в Java. Це розширює Collectionінтерфейс.

На відміну від Listінтерфейсу, набори не можуть містити повторювані елементи.

Класи, що реалізують Set

Оскільки Setце інтерфейс, ми не можемо створювати з нього об'єкти.

Для того, щоб використовувати функціональні можливості Setінтерфейсу, ми можемо використовувати такі класи:

  • HashSet
  • LinkedHashSet
  • EnumSet
  • TreeSet

Ці класи визначені у Collectionsфреймворці та реалізують Setінтерфейс.

Інтерфейси, що розширюють Set

SetІнтерфейс також поширюється цими подинтерфейсах:

  • SortedSet
  • NavigableSet

Як користуватися Set?

У Java ми повинні імпортувати java.util.Setпакет, щоб використовувати Set.

 // Set implementation using HashSet Set animals = new HashSet(); 

Тут ми створили Setпокликаних тварин. Ми використали HashSetклас для реалізації Setінтерфейсу.

Методи набору

SetІнтерфейс включає в себе всі методи Collectionінтерфейсу. Це тому Collection, що це супер інтерфейс Set.

Деякі з найбільш часто використовуваних методів Collectionінтерфейсу, які також доступні в Setінтерфейсі:

  • add () - додає вказаний елемент до набору
  • addAll () - додає всі елементи зазначеної колекції до набору
  • iterator () - повертає ітератор, який можна використовувати для послідовного доступу до елементів набору
  • remove () - видаляє вказаний елемент із набору
  • removeAll () - видаляє всі елементи з набору, який присутній в іншому вказаному наборі
  • retainAll () - зберігає всі елементи набору, які також присутні в іншому вказаному наборі
  • clear () - видаляє всі елементи з набору
  • size () - повертає довжину (кількість елементів) набору
  • toArray () - повертає масив, що містить усі елементи набору
  • contains () - повертає, trueякщо набір містить зазначений елемент
  • containsAll () - повертає, trueякщо набір містить усі елементи зазначеної колекції
  • hashCode () - повертає значення хеш-коду (адреса елемента в наборі)

Щоб дізнатись про інші методи Setінтерфейсу, відвідайте Java Set (офіційна документація Java).

Набір операцій

Інтерфейс Java Setдозволяє нам виконувати основні математичні операції набору, такі як об'єднання, перетин та підмножина.

  • Union - щоб отримати об'єднання двох множин x і y, ми можемо використовуватиx.addAll(y)
  • Перетин - щоб отримати перетин двох множин x і y, ми можемо використовуватиx.retainAll(y)
  • Підмножина - щоб перевірити, чи x є підмножиною y, ми можемо використовуватиy.containsAll(x)

Реалізація набору інтерфейсів

1. Реалізація класу HashSet

 import java.util.Set; import java.util.HashSet; class Main ( public static void main(String() args) ( // Creating a set using the HashSet class Set set1 = new HashSet(); // Add elements to the set1 set1.add(2); set1.add(3); System.out.println("Set1: " + set1); // Creating another set using the HashSet class Set set2 = new HashSet(); // Add elements set2.add(1); set2.add(2); System.out.println("Set2: " + set2); // Union of two sets set2.addAll(set1); System.out.println("Union is: " + set2); ) ) 

Вихідні дані

 Набір1: (2, 3) Набір2: (1, 2) Союз: (1, 2, 3) 

Щоб дізнатись більше про це HashSet, відвідайте Java HashSet.

2. Впровадження класу TreeSet

 import java.util.Set; import java.util.TreeSet; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating a set using the TreeSet class Set numbers = new TreeSet(); // Add elements to the set numbers.add(2); numbers.add(3); numbers.add(1); System.out.println("Set using TreeSet: " + numbers); // Access Elements using iterator() System.out.print("Accessing elements using iterator(): "); Iterator iterate = numbers.iterator(); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) ) 

Вихідні дані

 Встановити за допомогою TreeSet: (1, 2, 3) Доступ до елементів за допомогою iterator (): 1, 2, 3, 

Щоб дізнатись більше про це TreeSet, відвідайте Java TreeSet.

Тепер, коли ми знаємо , що Setє, ми побачимо його реалізацію в класах , як EnumSet, HashSet, LinkedHashSetі TreeSetв наступних уроках.

Цікаві статті...