您的位置:首页 > 其它

HashSet小练习--判断人是否重复

2015-10-22 15:10 405 查看
Arraylist判断重复用equals方法,HashSet用HashCode和equals方法。

如果姓名和年龄相同则重复,不打印

import java.util.*;
class h
{
public static void main(String[] args)
{
HashSet sh = new HashSet();
sh.add(new person("a1",11));
sh.add(new person("a2",12));
sh.add(new person("a2",12));
sh.add(new person("a3",13));

for(Iterator it = sh.iterator();it.hasNext();)//循环读元素
{
person p  = (person)it.next();
sop(p.getName()+","+p.getAge());
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
class person
{
private String name;
private int age;
person(String name,int age)
{
this.name = name;
this.age = age;
}
public int hashCode()//增加HASH值
{
return name.hashCode()+age;
}
public boolean equals(Object obj)//判断是否重复,equals方法
{
if(!(obj instanceof person))
return false;
person p = (person)obj;
return this.name.equals(p.name)&&this.age==p.age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: