Класс Set
Класс Set представляет собой коллекцию,
которая не содержит повторяющихся элементов.
При добавлении элемента, который уже присутствует
в множестве, он не будет добавлен повторно.
Класс Set является интерфейсом, поэтому
для создания множества используют его реализации,
например HashSet, LinkedHashSet
или TreeSet. Первым параметром
в конструктор можно передать коллекцию,
элементы которой будут добавлены в множество.
Синтаксис
Set<Тип> имя = new HashSet<>();
Пример
Давайте создадим множество и добавим в него несколько элементов:
import java.util.HashSet;
import java.util.Set;
public class Main
{
public static void main(String[] args)
{
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set);
}
}
Результат выполнения кода:
[a, b, c]
Пример
Давайте попробуем добавить в множество повторяющийся элемент и проверим размер:
import java.util.HashSet;
import java.util.Set;
public class Main
{
public static void main(String[] args)
{
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("a");
System.out.println(set.size());
}
}
Результат выполнения кода:
2
Пример
Давайте проверим наличие элемента в множестве
с помощью метода contains:
import java.util.HashSet;
import java.util.Set;
public class Main
{
public static void main(String[] args)
{
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set.contains("b"));
System.out.println(set.contains("d"));
}
}
Результат выполнения кода:
true
false
Пример
Давайте удалим элемент из множества
с помощью метода remove:
import java.util.HashSet;
import java.util.Set;
public class Main
{
public static void main(String[] args)
{
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
set.remove("b");
System.out.println(set);
}
}
Результат выполнения кода:
[a, c]