关于网友提出的“ 关于SET的小问题”问题疑问,本网通过在网上对“ 关于SET的小问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 关于SET的小问题
描述: import java.util.*;
class TextSet
{
public static void main(String [] args)
{
HashSet h=new HashSet();
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));
}
}
帮忙看看哪错了.怎么还有重复的元素呢!
解决方案1: 又是一个大小写的问题:
public int hashCode() //在你的程序里hsahCode是小写,就这个原因,以后细心点就行了!
{
return num*(name.hashCode());
}
解决方案2: public int hashCode() {
return num * (name.hashCode());
}
hashCode,大小写错了!
以上介绍了“ 关于SET的小问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1869337.html