Мн

Множини у Java

2 вправи

Про концепцію Множини

Set - це невпорядкована колекція, яка (на відміну від List) гарантовано не містить дублікатів значень.

Параметр узагальненого типу інтерфейсу Set позначає тип елементів, які містяться в Set:

Set<Integer> ints = Set.of(1, 2, 3);
Set<String> strings = Set.of("alpha", "beta", "gamma");
Set<Object> mixed = Set.of(1, false, "foo");

Зауважмо, що метод Set.of() створює незмінний екземпляр Set. Якщо ми спробуємо викликати на цьому екземплярі методи на кшталт add і remove, під час виконання станеться виняток.

Щоб створити змінний Set, потрібно створити екземпляр класу, який реалізує інтерфейс Set. Найчастіше з вбудованих класів цей інтерфейс реалізує клас HashSet.

Set<Integer> ints = new HashSet<>();

Інтерфейс Set розширює інтерфейси Collection та Iterable, а отже, поділяє багато методів з іншими типами колекцій. Однак є й помітна відмінність від інтерфейсу Collection: методи на кшталт add і remove повертають boolean (а не void), який показує, чи містився елемент у множині на момент виклику цього методу:

Set<Integer> set = new HashSet<>();
set.add(1);
// => true
set.add(2);
// => true
set.add(1);
// => false
set.size();
// => 2
set.contains(1);
// => true
set.contains(3);
// => false
set.remove(3);
// => false
set.remove(2);
// => true
set.size();
// => 1
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці

Вивчити концепцію Множини