A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pengbin 中级黑马   /  2015-7-20 17:12  /  400 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.*;

/*
往HashSet 集合中存入自定义对象
姓名和年龄相同为同一个人,重复元素


*/

class HashSetTest
{
       
        public static void sop(Object obj)
        {
                System.out.println(obj);
        }
       
        public static void main(String[] args)
        {
                HashSet hs = new HashSet();
               
                hs.add(new PersonHash("a1",11));
                hs.add(new PersonHash("a2",21));
                hs.add(new PersonHash("a3",31));
                hs.add(new PersonHash("a3",31));
               
                Iterator it = hs.iterator();
               
                while(it.hasNext())
                {
                        PersonHash p = (PersonHash)it.next();
                        sop(p.getName()+"::"+p.getAge());
                        //sop(p.hashCode());
                }
        }
       
}


class PersonHash {
       
                private String name;
                private int age;
                PersonHash(String name , int age)
                {
                        this.name = name;
                        this.age = age;
                }
       

                public int hashCode()
                {
                        System.out.println(name.hashCode()+age);
                        return name.hashCode()+age;
                        //return 60;
                }
       
               
               
                public boolean equals(Object obj)
                {
                        if(!(obj instanceof PersonHash))
                                return false;
                        PersonHash p = (PersonHash)obj;
                        //用字符串equals方法判断姓名和年龄是否相同
                        System.out.println(this.name.equals(p.name) && this.age==p.age);
                        return this.name.equals(p.name) && this.age==p.age;
                       
                }
       
               
                public String getName()
                {
                        return name;
                }
               
                public int getAge()
                {
                        return age;
                }
}




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马