Spec-Zone.ru › OpenJDK 25

Интерфейс Set<E>

Параметры типа:
E - тип элементов, хранящихся в этом множестве
Все суперинтерфейсы:
Collection<E>, Iterable<E>
Все известные подинтерфейсы:
EventSet, NavigableSet<E>, SequencedSet<E>, SortedSet<E>
Все известные реализующие классы:
AbstractSet, ConcurrentHashMap.KeySetView, ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, JobStateReasons, LinkedHashSet, TreeSet
public interface Set<E> extends Collection<E>
Коллекция, не содержащая повторяющихся элементов. Более формально, множества не содержат пары элементов e1 и e2 таких, что e1.equals(e2), и содержат не более одного элемента null. Как следует из названия, этот интерфейс моделирует математическое понятие множества.

Интерфейс Set предъявляет дополнительные требования к контрактам всех конструкторов, а также к контрактам методов add, equals и hashCode, помимо унаследованных от интерфейса Collection. Здесь также приведены объявления других унаследованных методов для удобства. (Спецификации, сопровождающие эти объявления, адаптированы для интерфейса Set, но не содержат дополнительных требований.)

Дополнительное требование к конструкторам, что неудивительно, заключается в том, что все конструкторы должны создавать множество без повторяющихся элементов (как определено выше).

Примечание. При использовании изменяемых объектов в качестве элементов множества следует проявлять особую осторожность. Поведение множества не определено, если значение объекта изменяется таким образом, что это влияет на сравнения equals, пока объект является элементом множества. Частным случаем этого запрета является недопустимость включения множества в качестве собственного элемента.

Некоторые реализации множеств накладывают ограничения на элементы, которые они могут содержать. Например, некоторые реализации запрещают элементы null, а некоторые ограничивают типы элементов. Попытка добавить недопустимый элемент приводит к выбросу непроверяемого исключения, обычно NullPointerException или ClassCastException. Попытка проверить наличие недопустимого элемента может привести к выбросу исключения или просто вернуть false; некоторые реализации ведут себя первым образом, а некоторые — вторым. В более общем случае попытка выполнить операцию с недопустимым элементом, завершение которой не привело бы к добавлению недопустимого элемента в множество, может привести к выбросу исключения или завершиться успешно — по усмотрению реализации. В спецификации этого интерфейса такие исключения помечены как «необязательные».

Немодифицируемые множества

Статические фабричные методы Set.of и Set.copyOf предоставляют удобный способ создания немодифицируемых множеств. Экземпляры Set, созданные этими методами, обладают следующими характеристиками:

  • Они являются немодифицируемыми. Элементы нельзя добавлять или удалять. Вызов любого метода-мутатора для Set всегда приводит к выбросу UnsupportedOperationException. Однако если содержащиеся в множестве элементы сами являются изменяемыми, это может привести к непоследовательному поведению Set или к тому, что его содержимое будет казаться изменившимся.
  • Они не допускают элементы null. Попытки создать их с элементами null приводят к NullPointerException.
  • Они сериализуемы, если все элементы сериализуемы.
  • Они отклоняют повторяющиеся элементы во время создания. Передача повторяющихся элементов статическому фабричному методу приводит к IllegalArgumentException.
  • Порядок перебора элементов множества не определен и может изменяться.
  • Они являются основанными на значениях. Программистам следует считать экземпляры, которые равны, взаимозаменяемыми и не использовать их для синхронизации, иначе может возникнуть непредсказуемое поведение. Например, в одном из будущих выпусков синхронизация может перестать работать. Вызывающий код не должен делать предположений об идентичности возвращаемых экземпляров. Фабричные методы могут создавать новые экземпляры или повторно использовать существующие.
  • Они сериализуются в соответствии с описанием на странице Сериализованная форма.

Этот интерфейс входит в состав Java Collections Framework.

Начиная с:
1.2
См. также:
  • Collection
  • List
  • SortedSet
  • HashSet
  • TreeSet
  • AbstractSet
  • Collections.singleton(java.lang.Object)
  • Collections.EMPTY_SET

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

Модификатор и тип Метод Описание
boolean add(E e)
Добавляет указанный элемент в это множество, если он еще не присутствует (необязательная операция).
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в это множество, если они еще не присутствуют (необязательная операция).
void clear()
Удаляет все элементы из этого множества (необязательная операция).
boolean contains(Object o)
Возвращает true, если это множество содержит указанный элемент.
boolean containsAll(Collection<?> c)
Возвращает true, если это множество содержит все элементы указанной коллекции.
static <E> Set<E> copyOf(Collection<? extends E> coll)
Возвращает немодифицируемое множество Set, содержащее элементы заданной коллекции.
boolean equals(Object o)
Сравнивает указанный объект с этим множеством на равенство.
int hashCode()
Возвращает значение хеш-кода для этого множества.
boolean isEmpty()
Возвращает true, если это множество не содержит элементов.
Iterator<E> iterator()
Возвращает итератор для перебора элементов этого множества.
static <E> Set<E> of()
Возвращает немодифицируемое множество, содержащее ноль элементов.
static <E> Set<E> of(E e1)
Возвращает немодифицируемое множество, содержащее один элемент.
static <E> Set<E> of(E... elements)
Возвращает немодифицируемое множество, содержащее произвольное количество элементов.
static <E> Set<E> of(E e1, E e2)
Возвращает немодифицируемое множество, содержащее два элемента.
static <E> Set<E> of(E e1, E e2, E e3)
Возвращает немодифицируемое множество, содержащее три элемента.
static <E> Set<E> of(E e1, E e2, E e3, E e4)
Возвращает немодифицируемое множество, содержащее четыре элемента.
static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5)
Возвращает немодифицируемое множество, содержащее пять элементов.
static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6)
Возвращает немодифицируемое множество, содержащее шесть элементов.
static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E e7)
Возвращает немодифицируемое множество, содержащее семь элементов.
static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8)
Возвращает немодифицируемое множество, содержащее восемь элементов.
static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9)
Возвращает немодифицируемое множество, содержащее девять элементов.
static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10)
Возвращает немодифицируемое множество, содержащее десять элементов.
boolean remove(Object o)
Удаляет указанный элемент из этого множества, если он присутствует (необязательная операция).
boolean removeAll(Collection<?> c)
Удаляет из этого множества все элементы, содержащиеся в указанной коллекции (необязательная операция).
boolean retainAll(Collection<?> c)
Оставляет в этом множестве только элементы, содержащиеся в указанной коллекции (необязательная операция).
int size()
Возвращает количество элементов в этом множестве (его мощность).
default Spliterator<E> spliterator()
Создает Spliterator для перебора элементов этого множества.
Object[] toArray()
Возвращает массив, содержащий все элементы этого множества.
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого множества; тип элементов возвращаемого массива во время выполнения совпадает с типом указанного массива.

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

parallelStream, removeIf, stream, toArray

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

forEach

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

size

int size()
Возвращает количество элементов в этом множестве (его мощность). Если это множество содержит более Integer.MAX_VALUE элементов, возвращает Integer.MAX_VALUE.
Определено в:
size в интерфейсе Collection<E>
Возвращает:
количество элементов в этом множестве (его мощность)

isEmpty

boolean isEmpty()
Возвращает true, если это множество не содержит элементов.
Определено в:
isEmpty в интерфейсе Collection<E>
Возвращает:
true, если это множество не содержит элементов

contains

boolean contains(Object o)
Возвращает true, если это множество содержит указанный элемент. Точнее, возвращает true тогда и только тогда, когда это множество содержит элемент e, для которого выполняется Objects.equals(o, e).
Определено в:
contains в интерфейсе Collection<E>
Параметры:
o — элемент, наличие которого в этом множестве необходимо проверить
Возвращает:
true, если это множество содержит указанный элемент
Вызывает исключение:
ClassCastException — если тип указанного элемента несовместим с этим множеством (необязательно)
NullPointerException — если указанный элемент равен null, а это множество не допускает элементы null (необязательно)

iterator

Iterator<E> iterator()
Возвращает итератор по элементам этого множества. Элементы возвращаются в произвольном порядке (если только это множество не является экземпляром класса, обеспечивающего определенный порядок).
Определено в:
iterator в интерфейсе Collection<E>
Определено в:
iterator в интерфейсе Iterable<E>
Возвращает:
итератор по элементам этого множества

toArray

Object[] toArray()
Возвращает массив, содержащий все элементы этого множества. Если это множество гарантирует определенный порядок возврата элементов итератором, этот метод должен возвращать элементы в том же порядке.

Возвращаемый массив будет «безопасным»: это множество не хранит на него ссылок. (Иными словами, этот метод должен выделять новый массив, даже если это множество основано на массиве.) Таким образом, вызывающий код может свободно изменять возвращенный массив.

Этот метод служит связующим звеном между API на основе массивов и API на основе коллекций.

Определено в:
toArray в интерфейсе Collection<E>
Возвращает:
массив, содержащий все элементы этого множества

toArray

<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого множества; тип возвращаемого массива во время выполнения совпадает с типом указанного массива. Если множество помещается в указанный массив, оно возвращается в нем. В противном случае выделяется новый массив с типом указанного массива во время выполнения и размером этого множества.

Если это множество помещается в указанный массив с запасом места (т. е. массив содержит больше элементов, чем это множество), элемент массива, непосредственно следующий за последним элементом множества, устанавливается в null. (Это полезно для определения размера этого множества только в том случае, если вызывающий код знает, что множество не содержит элементов null.)

Если это множество гарантирует определенный порядок возврата элементов итератором, этот метод должен возвращать элементы в том же порядке.

Как и метод toArray(), этот метод служит связующим звеном между API на основе массивов и API на основе коллекций. Кроме того, этот метод позволяет точно управлять типом выходного массива во время выполнения и при определенных обстоятельствах может использоваться для снижения затрат на выделение памяти.

Предположим, что x — это множество, о котором известно, что оно содержит только строки. Следующий код можно использовать для выгрузки множества в только что выделенный массив типа String:

    String[] y = x.toArray(new String[0]);
Обратите внимание, что toArray(new Object[0]) функционально идентичен toArray().
Определено в:
toArray в интерфейсе Collection<E>
Параметры типа:
T — тип компонентов массива, в котором будет храниться коллекция
Параметры:
a — массив, в котором должны храниться элементы этого множества, если он достаточно велик; в противном случае для этой цели выделяется новый массив того же типа во время выполнения.
Возвращает:
массив, содержащий все элементы этого множества
Вызывает исключение:
ArrayStoreException — если тип указанного массива во время выполнения не является супертипом типа каждого элемента этого множества во время выполнения
NullPointerException — если указанный массив равен null

add

boolean add(E e)
Добавляет указанный элемент в это множество, если он еще не присутствует (необязательная операция). Точнее, добавляет указанный элемент e в это множество, если множество не содержит элемента e2, для которого выполняется Objects.equals(e, e2). Если множество уже содержит этот элемент, вызов не изменяет множество и возвращает false. В сочетании с ограничениями на конструкторы это гарантирует, что множества никогда не содержат повторяющихся элементов.

Приведенное выше условие не означает, что множества обязаны принимать любые элементы; множества могут отказаться добавлять любой конкретный элемент, в том числе null, и выбросить исключение, как описано в спецификации для Collection.add. Реализации множеств должны четко документировать любые ограничения на элементы, которые они могут содержать.

Определено в:
add в интерфейсе Collection<E>
Параметры:
e — элемент, который необходимо добавить в это множество
Возвращает:
true, если это множество еще не содержало указанный элемент
Вызывает исключение:
UnsupportedOperationException — если операция add не поддерживается этим множеством
ClassCastException — если класс указанного элемента не позволяет добавить его в это множество
NullPointerException — если указанный элемент равен null, а это множество не допускает элементы null
IllegalArgumentException — если какое-либо свойство указанного элемента не позволяет добавить его в это множество

remove

boolean remove(Object o)
Удаляет указанный элемент из этого множества, если он присутствует (необязательная операция). Точнее, удаляет элемент e, для которого выполняется Objects.equals(o, e), если это множество содержит такой элемент. Возвращает true, если это множество содержало элемент (или, что равнозначно, если в результате вызова множество изменилось). (После возврата из вызова множество не будет содержать этот элемент.)
Определено в:
remove в интерфейсе Collection<E>
Параметры:
o — объект, который необходимо удалить из этого множества, если он присутствует
Возвращает:
true, если это множество содержало указанный элемент
Вызывает исключение:
ClassCastException — если тип указанного элемента несовместим с этим множеством (необязательно)
NullPointerException — если указанный элемент равен null, а это множество не допускает элементы null (необязательно)
UnsupportedOperationException — если операция remove не поддерживается этим множеством

containsAll

boolean containsAll(Collection<?> c)
Возвращает true, если это множество содержит все элементы указанной коллекции. Если указанная коллекция также является множеством, этот метод возвращает true, если она является подмножеством этого множества.
Определено в:
containsAll в интерфейсе Collection<E>
Параметры:
c — коллекция, наличие элементов которой в этом множестве необходимо проверить
Возвращает:
true, если это множество содержит все элементы указанной коллекции
Вызывает исключение:
ClassCastException — если типы одного или нескольких элементов указанной коллекции несовместимы с этим множеством (необязательно)
NullPointerException — если указанная коллекция содержит один или несколько элементов null, а это множество не допускает элементы null (необязательно), или если указанная коллекция равна null
См. также:
  • contains(Object)

addAll

boolean addAll(Collection<? extends E> c)
Добавляет в это множество все элементы указанной коллекции, которых в нем еще нет (необязательная операция). Если указанная коллекция также является множеством, операция addAll фактически изменяет это множество так, что его значение становится объединением двух множеств. Поведение этой операции не определено, если указанная коллекция изменяется во время ее выполнения.
Определено в:
addAll в интерфейсе Collection<E>
Параметры:
c — коллекция, содержащая элементы, которые необходимо добавить в это множество
Возвращает:
true, если в результате вызова это множество изменилось
Вызывает исключение:
UnsupportedOperationException — если операция addAll не поддерживается этим множеством
ClassCastException — если класс элемента указанной коллекции не позволяет добавить его в это множество
NullPointerException — если указанная коллекция содержит один или несколько элементов null, а это множество не допускает элементы null, или если указанная коллекция равна null
IllegalArgumentException — если какое-либо свойство элемента указанной коллекции не позволяет добавить его в это множество
См. также:
  • add(Object)

retainAll

boolean retainAll(Collection<?> c)
Оставляет в этом множестве только элементы, содержащиеся в указанной коллекции (необязательная операция). Иными словами, удаляет из этого множества все элементы, не содержащиеся в указанной коллекции. Если указанная коллекция также является множеством, эта операция фактически изменяет это множество так, что его значение становится пересечением двух множеств.
Определено в:
retainAll в интерфейсе Collection<E>
Параметры:
c — коллекция, содержащая элементы, которые необходимо оставить в этом множестве
Возвращает:
true, если в результате вызова это множество изменилось
Вызывает исключение:
UnsupportedOperationException — если операция retainAll не поддерживается этим множеством
ClassCastException — если класс элемента этого множества несовместим с указанной коллекцией (необязательно)
NullPointerException — если это множество содержит элемент null, а указанная коллекция не допускает элементы null (необязательно), или если указанная коллекция равна null
См. также:
  • remove(Object)

removeAll

boolean removeAll(Collection<?> c)
Удаляет из этого множества все элементы, содержащиеся в указанной коллекции (необязательная операция). Если указанная коллекция также является множеством, эта операция фактически изменяет это множество так, что его значение становится асимметрической разностью множеств.
Определено в:
removeAll в интерфейсе Collection<E>
Параметры:
c — коллекция, содержащая элементы, которые необходимо удалить из этого множества
Возвращает:
true, если в результате вызова это множество изменилось
Вызывает исключение:
UnsupportedOperationException — если операция removeAll не поддерживается этим множеством
ClassCastException — если класс элемента этого множества несовместим с указанной коллекцией (необязательно)
NullPointerException — если это множество содержит элемент null, а указанная коллекция не допускает элементы null (необязательно), или если указанная коллекция равна null
См. также:
  • remove(Object)
  • contains(Object)

clear

void clear()
Удаляет все элементы из этого множества (необязательная операция). После возврата из этого вызова множество будет пустым.
Определено в:
clear в интерфейсе Collection<E>
Вызывает исключение:
UnsupportedOperationException — если метод clear не поддерживается этим множеством

equals

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

hashCode

int hashCode()
Возвращает значение хеш-кода этого множества. Хеш-код множества определяется как сумма хеш-кодов его элементов, причем хеш-код элемента null определяется как ноль. Это гарантирует, что из s1.equals(s2) следует s1.hashCode()==s2.hashCode() для любых двух множеств s1 и s2, как того требует общий контракт Object.hashCode().
Определено в:
hashCode в интерфейсе Collection<E>
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода этого множества
См. также:
  • Object.equals(Object)
  • equals(Object)

spliterator

default Spliterator<E> spliterator()
Создает Spliterator для элементов этого множества.

Spliterator сообщает о характеристике Spliterator.DISTINCT. Реализации должны документировать наличие дополнительных значений характеристик.

Определено в:
spliterator в интерфейсе Collection<E>
Определено в:
spliterator в интерфейсе Iterable<E>
Требования к реализации:
Реализация по умолчанию создает сплитератор с отложенной привязкой на основе Iterator множества. Сплитератор наследует свойства итератора множества, связанные с быстрым обнаружением изменений.

Созданный Spliterator дополнительно сообщает о характеристике Spliterator.SIZED.

Примечание по реализации:
Созданный Spliterator дополнительно сообщает о характеристике Spliterator.SUBSIZED.
Возвращает:
Spliterator для элементов этого множества
Начиная с версии:
1.8

of

static <E> Set<E> of()
Возвращает немодифицируемое множество, содержащее ноль элементов. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Возвращает:
пустое Set
Начиная с версии:
9

of

static <E> Set<E> of(E e1)
Возвращает немодифицируемое множество, содержащее один элемент. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — единственный элемент
Возвращает:
Set, содержащее указанный элемент
Вызывает исключение:
NullPointerException — если элемент равен null
Начиная с версии:
9

of

static <E> Set<E> of(E e1, E e2)
Возвращает немодифицируемое множество, содержащее два элемента. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — первый элемент
e2 — второй элемент
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если элементы повторяются
NullPointerException — если элемент равен null
Начиная с версии:
9

of

static <E> Set<E> of(E e1, E e2, E e3)
Возвращает немодифицируемое множество, содержащее три элемента. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — первый элемент
e2 — второй элемент
e3 — третий элемент
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если присутствуют повторяющиеся элементы
NullPointerException — если элемент равен null
Начиная с версии:
9

of

static <E> Set<E> of(E e1, E e2, E e3, E e4)
Возвращает немодифицируемое множество, содержащее четыре элемента. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — первый элемент
e2 — второй элемент
e3 — третий элемент
e4 — четвертый элемент
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если присутствуют повторяющиеся элементы
NullPointerException — если элемент равен null
Начиная с версии:
9

of

static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5)
Возвращает немодифицируемое множество, содержащее пять элементов. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — первый элемент
e2 — второй элемент
e3 — третий элемент
e4 — четвертый элемент
e5 — пятый элемент
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если присутствуют повторяющиеся элементы
NullPointerException — если элемент равен null
Начиная с версии:
9

of

static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6)
Возвращает немодифицируемое множество, содержащее шесть элементов. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — первый элемент
e2 — второй элемент
e3 — третий элемент
e4 — четвертый элемент
e5 — пятый элемент
e6 — шестой элемент
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если присутствуют повторяющиеся элементы
NullPointerException — если элемент равен null
Начиная с версии:
9

of

static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E e7)
Возвращает немодифицируемое множество, содержащее семь элементов. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — первый элемент
e2 — второй элемент
e3 — третий элемент
e4 — четвертый элемент
e5 — пятый элемент
e6 — шестой элемент
e7 — седьмой элемент
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если присутствуют повторяющиеся элементы
NullPointerException — если элемент равен null
Начиная с версии:
9

of

static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8)
Возвращает немодифицируемое множество, содержащее восемь элементов. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — первый элемент
e2 — второй элемент
e3 — третий элемент
e4 — четвертый элемент
e5 — пятый элемент
e6 — шестой элемент
e7 — седьмой элемент
e8 — восьмой элемент
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если присутствуют повторяющиеся элементы
NullPointerException — если элемент равен null
Начиная с версии:
9

of

static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9)
Возвращает немодифицируемое множество, содержащее девять элементов. Подробности см. в разделе Немодифицируемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — первый элемент
e2 — второй элемент
e3 — третий элемент
e4 — четвертый элемент
e5 — пятый элемент
e6 — шестой элемент
e7 — седьмой элемент
e8 — восьмой элемент
e9 — девятый элемент
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если присутствуют повторяющиеся элементы
NullPointerException — если элемент равен null
Начиная с версии:
9

of

static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10)
Возвращает неизменяемое множество, содержащее десять элементов. Подробности см. в разделе Неизменяемые множества.
Параметры типа:
E — тип элементов Set
Параметры:
e1 — первый элемент
e2 — второй элемент
e3 — третий элемент
e4 — четвёртый элемент
e5 — пятый элемент
e6 — шестой элемент
e7 — седьмой элемент
e8 — восьмой элемент
e9 — девятый элемент
e10 — десятый элемент
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если имеются повторяющиеся элементы
NullPointerException — если элемент null
Начиная с версии:
9

of

@SafeVarargs static <E> Set<E> of(E... elements)
Возвращает неизменяемое множество, содержащее произвольное количество элементов. Подробности см. в разделе Неизменяемые множества.
Примечание к API:
Этот метод также принимает в качестве аргумента один массив. Типом элементов результирующего множества будет тип компонентов массива, а размер множества будет равен длине массива. Чтобы создать множество с одним элементом, которым является массив, выполните следующие действия:
    String[] array = ... ;
    Set<String[]> list = Set.<String[]>of(array);
В этом случае вместо него будет вызван метод Set.of(E).
Параметры типа:
E — тип элементов Set
Параметры:
elements — элементы, которые должны содержаться в множестве
Возвращает:
Set, содержащее указанные элементы
Вызывает исключение:
IllegalArgumentException — если имеются повторяющиеся элементы
NullPointerException — если элемент null или массив null
Начиная с версии:
9

copyOf

static <E> Set<E> copyOf(Collection<? extends E> coll)
Возвращает неизменяемое множество, содержащее элементы указанной коллекции. Указанная коллекция не должна быть null и не должна содержать элементов null. Если указанная коллекция содержит повторяющиеся элементы, сохраняется произвольный элемент из каждой группы повторяющихся элементов. Если впоследствии указанная коллекция будет изменена, возвращённое множество не будет отражать эти изменения.
Примечание по реализации:
Если указанная коллекция является неизменяемым множеством, вызов copyOf, как правило, не создаёт копию.
Параметры типа:
E — тип элементов Set
Параметры:
coll — Collection, из которой берутся элементы; не должна быть null
Возвращает:
Set, содержащее элементы указанной Collection
Вызывает исключение:
NullPointerException — если coll равна null или содержит элементы null
Начиная с версии:
10

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, который содержит более подробные описания для разработчиков, обзоры концепций, определения терминов, способы обхода проблем и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Set.html

Spec-Zone.ru

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