Spec-Zone.ru › OpenJDK 27

Класс AbstractSet<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.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
См. также:
  • Collection
  • AbstractCollection
  • Set

Краткое описание конструкторов

AbstractSet()
Модификатор Конструктор Описание
protected
Единственный конструктор.

Краткое описание методов

Модификатор и тип Метод Описание
boolean equals(Object o)
Сравнивает указанный объект с этим множеством на равенство.
int hashCode()
Возвращает хеш-код этого множества.
boolean removeAll(Collection<?> c)
Удаляет из этого множества все его элементы, содержащиеся в указанной коллекции (необязательная операция).

Методы, объявленные в классе AbstractCollection

add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, toArray, toArray, toString
Модификатор и тип Метод Описание
boolean add(E e)
Гарантирует, что эта коллекция содержит указанный элемент (необязательная операция).
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в эту коллекцию (необязательная операция).
void clear()
Удаляет все элементы из этой коллекции (необязательная операция).
boolean contains(Object o)
Возвращает true, если эта коллекция содержит указанный элемент.
boolean containsAll(Collection<?> c)
Возвращает true, если эта коллекция содержит все элементы указанной коллекции.
boolean isEmpty()
Возвращает true, если эта коллекция не содержит элементов.
abstract Iterator<E> iterator()
Возвращает итератор по элементам, содержащимся в этой коллекции.
boolean remove(Object o)
Удаляет один экземпляр указанного элемента из этой коллекции, если он присутствует (необязательная операция).
boolean retainAll(Collection<?> c)
Сохраняет в этой коллекции только элементы, содержащиеся в указанной коллекции (необязательная операция).
Object[] toArray()
Возвращает массив, содержащий все элементы этой коллекции.
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этой коллекции; тип возвращаемого массива во время выполнения совпадает с типом указанного массива.
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(long timeoutMillis)
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени.

Методы, объявленные в интерфейсе Collection

parallelStream, removeIf, stream, toArray
Модификатор и тип Метод Описание
default Stream<E> parallelStream()
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция.
default boolean removeIf(Predicate<? super E> filter)
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция).
default Stream<E> stream()
Возвращает последовательный Stream, источником которого является эта коллекция.
default <T> T[] toArray(IntFunction<T[]> generator)
Возвращает массив, содержащий все элементы этой коллекции; для выделения возвращаемого массива используется предоставленная функция generator.

Методы, объявленные в интерфейсе Iterable

forEach
Модификатор и тип Метод Описание
default void forEach(Consumer<? super E> action)
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение.

Методы, объявленные в интерфейсе Set

add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, spliterator, toArray, toArray
Модификатор и тип Метод Описание
boolean add(E e)
Добавляет указанный элемент в это множество, если он ещё не содержится в нём (необязательная операция).
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в это множество, если они ещё не содержатся в нём (необязательная операция).
void clear()
Удаляет все элементы из этого множества (необязательная операция).
boolean contains(Object o)
Возвращает true, если это множество содержит указанный элемент.
boolean containsAll(Collection<?> c)
Возвращает true, если это множество содержит все элементы указанной коллекции.
boolean isEmpty()
Возвращает true, если это множество не содержит элементов.
Iterator<E> iterator()
Возвращает итератор по элементам этого множества.
boolean remove(Object o)
Удаляет указанный элемент из этого множества, если он присутствует (необязательная операция).
boolean retainAll(Collection<?> c)
Сохраняет в этом множестве только элементы, содержащиеся в указанной коллекции (необязательная операция).
int size()
Возвращает количество элементов в этом множестве (его мощность).
default Spliterator<E> spliterator()
Создаёт Spliterator по элементам этого множества.
Object[] toArray()
Возвращает массив, содержащий все элементы этого множества.
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого множества; тип возвращаемого массива во время выполнения совпадает с типом указанного массива.

Подробное описание конструкторов

AbstractSet

protected AbstractSet()
Единственный конструктор. (Для вызова конструкторами подклассов, обычно неявно.)

Подробное описание методов

equals

public boolean equals(Object o)
Сравнивает указанный объект с этим множеством на равенство. Возвращает true, если заданный объект также является множеством, размеры двух множеств совпадают и каждый элемент заданного множества содержится в этом множестве. Это гарантирует, что метод equals корректно работает для различных реализаций интерфейса Set.

Сначала эта реализация проверяет, является ли указанный объект этим множеством; если да, возвращается true. Затем проверяется, является ли указанный объект множеством того же размера, что и это множество; если нет, возвращается false. Если да, возвращается containsAll((Collection) o).

Определён в:
equals в интерфейсе Collection<E>
Определён в:
equals в интерфейсе Set<E>
Переопределяет:
equals в классе Object
Параметры:
o — объект, сравниваемый на равенство с этим множеством
Возвращает:
true, если указанный объект равен этому множеству
См. также:
  • Object.equals(Object)
  • Set.equals(Object)
  • List.equals(Object)

hashCode

public int hashCode()
Возвращает хеш-код этого множества. Хеш-код множества определяется как сумма хеш-кодов его элементов; хеш-код элемента null считается равным нулю. Это гарантирует, что s1.equals(s2) влечёт s1.hashCode()==s2.hashCode() для любых двух множеств s1 и s2, как того требует общий контракт Object.hashCode().

Эта реализация перебирает множество, вызывая метод hashCode для каждого элемента множества и суммируя результаты.

Определён в:
hashCode в интерфейсе Collection<E>
Определён в:
hashCode в интерфейсе Set<E>
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код этого множества
См. также:
  • Object.equals(Object)
  • Set.equals(Object)

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
См. также:
  • AbstractCollection.remove(Object)
  • AbstractCollection.contains(Object)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API