Мне удалось объединить два набора массивов, но я не могу найти разницу в наборах.JAVA

Программисты JAVA общаются здесь
Anonymous
Мне удалось объединить два набора массивов, но я не могу найти разницу в наборах.

Сообщение Anonymous »

Я пытаюсь сравнить два набора и найти их объединение/разницу. Объединение работает, но разница нет (выходной массив представляет собой пустой массив).
Я использовал функцию «addAll()» для объединения, поэтому предположил, что то же самое будет работать и с функцией «retainAll()» — почему мой вывод пуст?

Код: Выделить всё

import java.util.Arrays;
import java.util.HashSet;

public class Main{

public static void main(String[] args){

Integer[] s1 = {1,5,3,6,7,8};
Integer[] s2 = {2,5,6,9,7};

HashSet set1 = new HashSet();
HashSet set2 = new HashSet();

//intersection between two sets

set1.addAll(Arrays.asList(s1));
set1.addAll(Arrays.asList(s2));

System.out.println(set1);

set2.retainAll(Arrays.asList(s1));
set2.retainAll(Arrays.asList(s2));

System.out.println(set2);
}
}
Вывод терминала:

Код: Выделить всё

javac Main.java
java Main
[1, 2, 3, 5, 6, 7, 8, 9]
[]
(обратите внимание, что второй набор пуст)

Вернуться в «JAVA»