Преобразование массива в Set на Java — все способы с примерами
Чтобы понять этот пример, вам нужно знать следующие темы Java:
интерфейс
Set;класс
HashSet;массивы (
Arrays).
Пример 1: преобразование массива в Set
import java.util.*;
public class ArraySet {
public static void main(String[] args) {
String[] array = {"a", "b", "c"};
Set<String> set = new HashSet<>(Arrays.asList(array));
System.out.println("Set: " + set);
}
}
Вывод:
Set: [a, b, c]
В приведённой выше программе у нас есть массив с именем array. Чтобы преобразовать массив в множество (Set), мы сначала переводим его в список с помощью метода asList(), так как конструктор HashSet принимает список.
Затем мы инициализируем множество элементами из полученного списка.
Пример 2: преобразование массива в Set с помощью stream
import java.util.*;
public class ArraySet {
public static void main(String[] args) {
String[] array = {"a", "b", "c"};
Set<String> set = new HashSet<>(Arrays.stream(array).collect(Collectors.toSet()));
System.out.println("Set: " + set);
}
}
Вывод программы такой же, как в Примере 1.
В приведённой выше программе вместо того чтобы конвертировать массив сначала в список, а потом в множество, мы используем поток (stream) для преобразования сразу в множество.
Сначала мы превращаем массив в поток методом stream(), а затем используем метод collect() с параметром toSet(), чтобы собрать поток в множество.
Пример 3: преобразование Set в массив
import java.util.*;
public class SetArray {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
String[] array = new String[set.size()];
set.toArray(array);
System.out.println("Array: " + Arrays.toString(array));
}
}
Вывод:
Array: [a, b, c]
В приведённой выше программе у нас есть HashSet с именем set. Чтобы преобразовать множество в массив, мы сначала создаём массив длиной, равной размеру множества, и используем метод toArray().
Примечание
HashSet не сохраняет порядок добавления элементов, поэтому порядок элементов в полученном массиве может отличаться от порядка их добавления в множество.