不好意思哈 我刚刚学 java
这个方法 报异常啊
java.util.NoSuchElementException 谢谢了 帮我改下 !
你那个是说你那个set里面没有元素呢。你的set为空的。加多了一个checking
public boolean isSetEqual(Set set1, Set set2){
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(ite1.hasNext()){
if(!set2.contains(ite2.next())){
isFullEqual = false;
}
}
return isFullEqual;
}
在吗 ?我用断点看了下 Set里只有三个对象 他还走第四次while()
追答Sorry!while那里写错了,应该是ite1.next(),你用下面这个没问题的
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;
}
做了个简单的改动 好用了 这个好使 谢谢了啊 !
本回答被提问者采纳高手能帮我重写个 equals 方法吗 ? 谢谢了