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; } }
相关文章推荐
- java定时任务详解
- ios下拉刷新
- 是技术博客还是心情博客?
- FreeMarker设计指南3-模板
- String 直接+= 字符串 开销大
- JDK环境变量配置
- AutoLayout深入浅出五[UITableView动态高度]
- ZooKeeper管理员指南——部署与管理ZooKeeper
- JDK环境变量配置
- Xcode报错 - 1
- JDK环境变量配置
- An incompatible DacFX version is installed
- 词法分析实验总结
- 堆排序在TOP K问题中的应用
- 数据聚合 & 分组:新一代系统监控的核心功能
- ajax入门详解
- 学车常识
- Python正则表达式指南
- exit()函数
- Adobe Reader 背景设置保护色