Научитесь находить объединение двух массивов в Java с помощью API HashSet и Stream. В теории множеств объединение(обозначается как U) коллекции множеств — это множество всех элементов в коллекции.
Например, объединение двух массивов A и B представляет собой совокупность всех элементов, которые находятся либо в A, либо в B, либо и в A, и в B.

1. Объединение массивов с использованием HashSet
Чтобы получить объединение двух массивов, выполните следующие действия:
- Поместите первый массив в экземпляр HashSet.
- Используйте метод addAll() для добавления элементов второго массива в набор.
- Аналогично складываем все элементы других массивов в наборе, если таковые имеются.
Программа на Java для объединения двух целочисленных массивов и вывода результата.
Integer[] arr1 = {0, 2};Integer[] arr2 = {1, 3};HashSet<Integer> set = new HashSet<>();set.addAll(Arrays.asList(arr1));set.addAll(Arrays.asList(arr2));Assertions.assertEquals(Set.of(0, 1, 2, 3), set);//convert to array, if neededInteger[] union = set.toArray(new Integer[0]);Assertions.assertArrayEquals(new Integer[]{0, 1, 2, 3}, union);
2. Использование потока Java 8
Мы можем использовать API потоков для итерации по элементам обоих потоков и использовать flatMap() для нормализации элементов обоих массивов в одном потоке, а затем собрать их в новый массив.
Использование потоков позволяет нам выполнять дополнительные действия с объединенными элементами в том же конвейере потоков и собирать результаты в различных целевых типах.
Целое число[] arr1 = {0, 2};Целое число[] arr2 = {1, 3};Целое число[] объединение = Поток.of(arr1, arr2).flatMap(Поток::из).toArray(Integer[]::new);Утверждения.assertArrayEquals(новое целое число[]{0, 1, 2, 3}, объединение);
Подробнее: Как получить пересечение двух массивов