Класс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
add |
Гарантирует, что эта коллекция содержит указанный элемент (необязательная операция). |
boolean |
addAll |
Добавляет все элементы указанной коллекции в эту коллекцию (необязательная операция). |
void |
clear() |
Удаляет все элементы из этой коллекции (необязательная операция). |
boolean |
contains |
Возвращает true, если эта коллекция содержит указанный элемент. |
boolean |
containsAll |
Возвращает true, если эта коллекция содержит все элементы указанной коллекции. |
boolean |
isEmpty() |
Возвращает true, если эта коллекция не содержит элементов. |
abstract Iterator |
iterator() |
Возвращает итератор по элементам, содержащимся в этой коллекции. |
boolean |
remove |
Удаляет один экземпляр указанного элемента из этой коллекции, если он присутствует (необязательная операция). |
boolean |
retainAll |
Сохраняет в этой коллекции только элементы, содержащиеся в указанной коллекции (необязательная операция). |
Object[] |
toArray() |
Возвращает массив, содержащий все элементы этой коллекции. |
<T> T[] |
toArray |
Возвращает массив, содержащий все элементы этой коллекции; тип возвращаемого массива во время выполнения совпадает с типом указанного массива. |
String |
toString() |
Возвращает строковое представление этой коллекции. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени. |
Методы, объявленные в интерфейсе Collection
parallelStream, removeIf, stream, toArray | Модификатор и тип | Метод | Описание |
|---|---|---|
default Stream |
parallelStream() |
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция. |
default boolean |
removeIf |
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция). |
default Stream |
stream() |
Возвращает последовательный Stream, источником которого является эта коллекция. |
default <T> T[] |
toArray |
Возвращает массив, содержащий все элементы этой коллекции; для выделения возвращаемого массива используется предоставленная функция generator. |
Методы, объявленные в интерфейсе Iterable
forEach | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
forEach |
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение. |
Методы, объявленные в интерфейсе Set
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, spliterator, toArray, toArray | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
add |
Добавляет указанный элемент в это множество, если он ещё не содержится в нём (необязательная операция). |
boolean |
addAll |
Добавляет все элементы указанной коллекции в это множество, если они ещё не содержатся в нём (необязательная операция). |
void |
clear() |
Удаляет все элементы из этого множества (необязательная операция). |
boolean |
contains |
Возвращает true, если это множество содержит указанный элемент. |
boolean |
containsAll |
Возвращает true, если это множество содержит все элементы указанной коллекции. |
boolean |
isEmpty() |
Возвращает true, если это множество не содержит элементов. |
Iterator |
iterator() |
Возвращает итератор по элементам этого множества. |
boolean |
remove |
Удаляет указанный элемент из этого множества, если он присутствует (необязательная операция). |
boolean |
retainAll |
Сохраняет в этом множестве только элементы, содержащиеся в указанной коллекции (необязательная операция). |
int |
size() |
Возвращает количество элементов в этом множестве (его мощность). |
default Spliterator |
spliterator() |
Создаёт Spliterator по элементам этого множества. |
Object[] |
toArray() |
Возвращает массив, содержащий все элементы этого множества. |
<T> T[] |
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.