Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Set.copyOf()

Создаёт неизменяемое множество из коллекции, отбрасывая повторы.

Доступно с: Java 10

Синтаксис

static <E> Set<E> copyOf(Collection<? extends E> coll)

Параметры

ПараметрТипОписание
collCollection<? extends E>Коллекция-источник; повторы допускаются, `null` — нет.

Возвращаемое значение

Set<E>Неизменяемое множество уникальных элементов.

Примеры

Сколько разных значений в списке:

void main() {
    List<Integer> votes = List.of(3, 1, 3, 2, 1, 3);
    Set<Integer> unique = Set.copyOf(votes);
    IO.println(unique.size());
    IO.println(unique.contains(2));
}

Результат:

3
true

Примечания

Порядок элементов результата не определён. Если нужен порядок первого появления, используйте new LinkedHashSet<>(list), если сортировка — new TreeSet<>(list).

См. также

  • Set.of() — Создаёт неизменяемое множество из перечисленных элементов.
  • List.copyOf() — Создаёт неизменяемую копию коллекции в виде списка.
  • Stream.distinct() — Убирает повторяющиеся элементы потока.

В учебнике

  • Множества: Set — Множества в Java: HashSet без повторов, LinkedHashSet и TreeSet с порядком, объединение и пересечение множеств.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.