Интерфейс набора Java
Интерфейс набора Java
В этом руководстве мы узнаем об интерфейсе Set в Java и его методах.
Set
интерфейс Java Collections
framework предоставляет функции математического набора в Java. Он расширяет Collection
интерфейс.
В отличие от List
интерфейс, наборы не могут содержать повторяющиеся элементы.
Классы, реализующие Set
С Set
это интерфейс, мы не можем создавать из него объекты.
Чтобы использовать функциональные возможности Set
интерфейс, мы можем использовать эти классы:
- Набор хэшей
- LinkedHashSet
- Набор перечислений
- Набор деревьев
Эти классы определены в Collections
framework и реализовать Set
интерфейс.
Интерфейсы, расширяющие Set
Set
интерфейс также расширяется этими субинтерфейсами:
- Отсортированный набор
- Навигируемый набор
Как использовать Set?
В Java мы должны импортировать java.util.Set
package для использования Set
.
// Set implementation using HashSet
Set<String> animals = new HashSet<>();
Здесь мы создали Set
называются животными . Мы использовали HashSet
класс для реализации Set
интерфейс.
Методы установки
Set
интерфейс включает в себя все методы Collection
интерфейс. Это потому, что Collection
это суперинтерфейс Set
.
Некоторые из часто используемых методов Collection
интерфейс, который также доступен в Set
интерфейс:
- добавить() - добавляет указанный элемент в набор
- добавитьВсе() - добавляет в набор все элементы указанной коллекции
- итератор() - возвращает итератор, который можно использовать для последовательного доступа к элементам набора
- удалить() - удаляет указанный элемент из набора
- удалить все() - удаляет из набора все элементы, которые присутствуют в другом указанном наборе
- сохранить все() - сохраняет все элементы в наборе, которые также присутствуют в другом указанном наборе
- очистить() - удаляет все элементы из набора
- размер() - возвращает длину (количество элементов) множества
- к массиву() - возвращает массив, содержащий все элементы набора
- содержит() - возвращает
true
если набор содержит указанный элемент - содержитВсе() - возвращает
true
если набор содержит все элементы указанной коллекции - хэш-код() - возвращает значение хеш-кода (адрес элемента в наборе)
Чтобы узнать о других методах Set
интерфейс, посетите Java Set (официальная документация по Java).
Установить операции
Java Set
Интерфейс позволяет нам выполнять основные математические операции над множествами, такие как объединение, пересечение и подмножество.
- Союз - получить объединение двух множеств x и y , мы можем использовать
x.addAll(y)
- Перекресток - получить пересечение двух множеств x и y , мы можем использовать
x.retainAll(y)
- Подмножество - проверить, если x является подмножеством y , мы можем использовать
y.containsAll(x)
Реализация интерфейса Set
<сильный>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<Integer> 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<Integer> 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);
}
}
Вывод
Set1: [2, 3] Set2: [1, 2] Union is: [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<Integer> 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<Integer> iterate = numbers.iterator();
while(iterate.hasNext()) {
System.out.print(iterate.next());
System.out.print(", ");
}
}
}
Вывод
Set using TreeSet: [1, 2, 3] Accessing elements using iterator(): 1, 2, 3,
Чтобы узнать больше о TreeSet
, посетите Java TreeSet.
Теперь, когда мы знаем, что такое Set
то есть мы увидим его реализации в таких классах, как EnumSet
, HashSet
, LinkedHashSet
и TreeSet
в следующих уроках.
java