Spec-Zone.ru › OpenJDK 17

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

Параметры типа:
E - тип элементов, поддерживаемых этим множеством
Все суперинтерфейсы:
Collection<E>, Iterable<E>
Все известные дочерние интерфейсы:
EventSet, NavigableSet<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), и не более одного нулевого элемента. Как следует из его названия, этот интерфейс моделирует абстракцию математического множества.

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

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

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

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

Неизменяемые множества

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

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

Этот интерфейс является членом Java Collections Framework.

Since:
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)
Возвращает неизменяемое множество, содержащее элементы заданной коллекции.
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)
Возвращает массив, содержащий все элементы в этом множестве; тип времени выполнения возвращаемого массива — заданный массив.

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

parallelStream, removeIf, stream, toArray

Методы, объявленные в интерфейсе java.lang.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.

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

toArray

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

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

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

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

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

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

removeAll

boolean removeAll(Collection<?> c)
Удаляет из этого множества все его элементы, которые содержатся в указанной коллекции (необязательная операция). Если указанная коллекция также является множеством, эта операция фактически изменяет это множество таким образом, что его значением является асимметричная разность двух множеств.
Определено в:
removeAll в интерфейсе Collection<E>
Параметры:
c - коллекция, содержащая элементы, которые должны быть удалены из этого множества
Возвращает:
true если это множество изменилось в результате вызова
Исключения:
UnsupportedOperationException - если операция removeAll не поддерживается этим множеством
ClassCastException - если класс элемента этого множества несовместим с указанной коллекцией (необязательно)
NullPointerException - если это множество содержит нулевой элемент, а указанная коллекция не допускает нулевых элементов (необязательно), или если указанная коллекция равна 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.hashCode()
  • HashMap

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>
Требования к реализации:
По умолчанию реализация создает late-binding spliterator из Iterator множества. Spliterator наследует свойства fail-fast итератора множества.

Создаваемый 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 - единственный элемент
Возвращает:
множество, содержащее указанный элемент
Исключения:
NullPointerException - если элемент null
С:
9

of

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

of

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

of

static <E> Set<E> of(E e1, E e2, E e3, E e4)
Возвращает неизменяемое множество, содержащее четыре элемента. Подробности см. в разделе Неизменяемые множества.
Параметры типа:
E - тип элемента Set
Параметры:
e1 - первый элемент
e2 - второй элемент
e3 - третий элемент
e4 - четвёртый элемент
Возвращает:
множество, содержащее указанные элементы
Исключения:
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 - пятый элемент
Возвращает:
множество, содержащее указанные элементы
Исключения:
IllegalArgumentException - если есть дублируемые элементы
NullPointerException - если элемент null
С:
9

of

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

copyOf

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

© 1993, 2021, 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/17/docs/api/java.base/java/util/Set.html

Spec-Zone.ru

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