Класс AbstractSet<E>
- Параметры типа:
E- тип элементов, хранящихся в этом множестве
- Все реализуемые интерфейсы:
Iterable<E>, Collection<E>, Set<E>
- Прямые известные подклассы:
ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, TreeSet
public abstract class AbstractSet<E> extends AbstractCollection<E> implements Set<E>
Set, чтобы свести к минимуму усилия, необходимые для реализации этого интерфейса. Процесс реализации множества путем наследования от этого класса идентичен процессу реализации коллекции путем наследования от AbstractCollection, за исключением того, что все методы и конструкторы подклассов этого класса должны соблюдать дополнительные ограничения, накладываемые интерфейсом Set (например, метод add не должен разрешать добавление нескольких экземпляров объекта в множество).
Обратите внимание, что этот класс не переопределяет ни одну из реализаций класса AbstractCollection. Он лишь добавляет реализации для equals и hashCode.
Этот класс входит в состав Java Collections Framework.
- С версии:
- 1.2
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Единственный конструктор. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает указанный объект с этим множеством на равенство. |
int |
hashCode() |
Возвращает хеш-код этого множества. |
boolean |
removeAll |
Удаляет из этого множества все элементы, содержащиеся в указанной коллекции (необязательная операция). |
Методы, объявленные в классе AbstractCollection
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, toArray, toArray, toString
Методы, объявленные в интерфейсе Collection
parallelStream, removeIf, stream, toArray
Подробное описание конструкторов
AbstractSet
protected AbstractSet()
Подробное описание методов
equals
public boolean equals(Object o)
true, если заданный объект также является множеством, оба множества имеют одинаковый размер и каждый элемент заданного множества содержится в этом множестве. Это гарантирует, что метод equals корректно работает для различных реализаций интерфейса Set. Эта реализация сначала проверяет, является ли указанный объект этим множеством; если да, возвращает true. Затем она проверяет, является ли указанный объект множеством того же размера, что и это множество; если нет, возвращает false. Если да, возвращает containsAll((Collection) o).
hashCode
public int hashCode()
null равен нулю. Это гарантирует, что s1.equals(s2) подразумевает s1.hashCode()==s2.hashCode() для любых двух множеств s1 и s2, как того требует общий контракт метода Object.hashCode(). Эта реализация перебирает элементы множества, вызывая для каждого из них метод hashCode и суммируя результаты.
removeAll
public boolean removeAll(Collection<?> c)
Эта реализация определяет, какое из множеств — это множество или указанная коллекция — меньше, вызывая для каждого метод size. Если в этом множестве меньше элементов, реализация перебирает его, проверяя, содержится ли каждый возвращенный итератором элемент в указанной коллекции. Если содержится, он удаляется из этого множества методом remove итератора. Если в указанной коллекции меньше элементов, реализация перебирает ее и удаляет из этого множества каждый элемент, возвращенный итератором, используя метод remove этого множества.
Обратите внимание, что эта реализация выбросит исключение UnsupportedOperationException, если итератор, возвращенный методом iterator, не реализует метод remove.
- Определено в:
-
removeAllв интерфейсеCollection<E> - Определено в:
-
removeAllв интерфейсеSet<E> - Переопределяет:
-
removeAllв классеAbstractCollection<E> - Параметры:
-
c- коллекция, содержащая элементы для удаления из этого множества - Возвращает:
-
true, если это множество изменилось в результате вызова - Выбрасывает:
-
UnsupportedOperationException- если эта операцияremoveAllне поддерживается данным множеством -
ClassCastException- если класс элемента этого множества несовместим с указанной коллекцией (необязательно) -
NullPointerException- если это множество содержит элемент null, а указанная коллекция не допускает элементы null (необязательно), или если указанная коллекция равна null - См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/AbstractSet.html