关于SET的小问题

gongyali2005 2007-01-14 09:53:36
import java.util.*;
class TextSet
{
public static void main(String [] args)
{
HashSet<Student> h=new HashSet<Student>();
h.add(new Student(2,"aaa"));
h.add(new Student(2,"aaa"));
h.add(new Student(1,"LHX"));

Iterator i=h.iterator();
while(i.hasNext())
System.out.println(i.next());

}
}
class Student
{
int num;
String name;
Student(int num,String name)
{
this.num=num;
this.name=name;
}
public String toString()
{
return num+":"+name;
}
public int hashcode()
{
return num*(name.hashCode());
}
public boolean equals(Object o)
{
Student s=(Student)o;
return (num==s.num)&&(name.equals(s.name));
}
}

帮忙看看哪错了.怎么还有重复的元素呢!
...全文
192 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjsxxww 2007-01-14
  • 打赏
  • 举报
回复
学习ing
iceliooo 2007-01-14
  • 打赏
  • 举报
回复
又是一个大小写的问题:

public int hashCode() //在你的程序里hsahCode是小写,就这个原因,以后细心点就行了!
{
return num*(name.hashCode());
}
believefym 2007-01-14
  • 打赏
  • 举报
回复
public int hashCode() {
return num * (name.hashCode());
}

hashCode,大小写错了!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧