Set.copyOf()
Создаёт неизменяемое множество из коллекции, отбрасывая повторы.
Доступно с: Java 10
Синтаксис
static <E> Set<E> copyOf(Collection<? extends E> coll)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| coll | Collection<? 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 с порядком, объединение и пересечение множеств.