黑马程序员技术交流社区
标题:
HashSet排序问题
[打印本页]
作者:
s526349668
时间:
2014-7-14 22:40
标题:
HashSet排序问题
本帖最后由 s526349668 于 2014-7-14 23:16 编辑
这个代码请问哪里错了,重复的数据没有去掉哦
import java.util.*;
public class HashDemo {
private String name;
private int age;
HashDemo(String name, int age){
this.name=name;
this.age=age;
}
public int hashCode(){
return name.hashCode()+age*37;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public boolean equals(Object obj){
if(!(obj instanceof Person))
return false;
HashDemo p=(HashDemo)obj;
return this.name.equals(p.name)&& this.age==p.age;
}
}
public class HashDemoTest {
public static void main(String[] args){
HashSet hs=new HashSet();
hs.add(new HashDemo("wangwu",14));
hs.add(new HashDemo("zhangsan",22));
hs.add(new HashDemo("lisi",30));
hs.add(new HashDemo("zhangsan",22));
Iterator it=hs.iterator();
while(it.hasNext()){
HashDemo h=(HashDemo)it.next();
sop(h.getName()+"...."+h.getAge());
}
}
public static void sop(Object obj){
System.out.println(obj);
}
}
复制代码
作者:
fantacyleo
时间:
2014-7-14 22:46
if(!(obj instanceof Person)) 你的类名是HashDemo ,equals方法里却写成了Person。。。
作者:
赵顺超
时间:
2014-7-14 22:58
编译过了?那不全返回false。。。那不就去不掉了?
作者:
s526349668
时间:
2014-7-14 23:16
fantacyleo 发表于 2014-7-14 22:46
if(!(obj instanceof Person)) 你的类名是HashDemo ,equals方法里却写成了Person。。。
谢啦啊,失误失误啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2