Класс 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 |
Удаляет из этого множества все его элементы, содержащиеся в указанной коллекции (необязательная операция). |
Методы, объявленные в классе java.util.AbstractCollection
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, toArray, toArray, toString
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе java.util.Collection
parallelStream, removeIf, stream, toArray
Подробное описание конструкторов
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если указанный объект равен этому множеству - См. также:
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 - Возвращает:
- значение хэш-кода для этого множества
- См. также:
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 - См. также:
© 1993, 2023, 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/21/docs/api/java.base/java/util/AbstractSet.html