我正在尝试学习Java,并且达到了HashSet部分,总而言之,我正在测试contain方法。
public static void main(String[] args) {
HashSet<Integer> firstSet = new HashSet<>();
firstSet.add(3);
HashSet<Integer> secondSet = new HashSet<>();
secondSet.add(3);
boolean var = firstSet.contains(secondSet);
System.out.println(var);
}
我相信这段代码应该返回true,而返回false。任何帮助!
最佳答案
boolean var = firstSet.contains(secondSet);
这行引起了问题,因为您没有检查
secondSet
中是否存在特定元素,而是检查firstSet
是否将整个secondSet
本身存储了,这显然是错误的。例如,您应该检查
. contains(secondSet.get(0))
还是.contains(3)
。如果要检查
firstSet
是否包含secondSet
中存在的所有元素,则可以使用firstSet.containsAll(secondSet)
。