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

来源:互联网 发布:研究生生活知乎 编辑:程序博客网 时间:2024/05/01 06:18

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;}}


0 0
原创粉丝点击