有时候我们需要判断set里的元素值是否完全相同。
使用 set1.equal(set2)和set1==set2的判断都不能达到我们的目的。
需要自己写方法来实现,原理就是循环set中的元素一个个对比。
代码如下:
public static boolean isSetEqual(Set set1, Set set2) {
if (set1 == null && set2 == null) {
return true; // Both are null
}
if (set1 == null || set2 == null || set1.size() != set2.size()
|| set1.size() == 0 || set2.size() == 0) {
return false;
}
Iterator ite1 = set1.iterator();
Iterator ite2 = set2.iterator();
boolean isFullEqual = true;
while (ite2.hasNext()) {
if (!set1.contains(ite2.next())) {
isFullEqual = false;
}
}
return isFullEqual;
}