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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 茄子 高级黑马   /  2014-6-21 23:59  /  1971 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 茄子 于 2014-6-22 09:00 编辑

import java.util.*;
class Person22
{
        
        private String name;
        private int age;
        Person22(String name,int age)
        {
                this.name=name;
                this.age=age;
        }
        public int hashCode()                      //复写hashCode中的hashCode方法,返回我们自己定义的哈希值
        {
                System.out.println(this.name+"    hashCode");  //输出证明了hashcode的运行
                return this.name.hashCode()+age*39;
        }
        public boolean equals(Object obj)   //复写Object中的equals方法
        {
                if(!(obj instanceof Person))      //判断对象obj是不是Person类的对象
                        return false;
                Person22 p=(Person22)obj;             //强制转型
                return this.name.equals(p.name)&&this.age==p.age;   //建立自己独有的比较方法,姓名相同,年龄相等。
        }
        public String getName()
        {
                return name;
        }
        public int getAge()
        {
                return age;
        }
}
public class HashSetDemo2 {
        public static void sop(Object obj)
        {
                System.out.println(obj);
        }

        public static void main(String[] args) {
                HashSet hs=new HashSet();
                hs.add(new Person22("zhaoyujie",20));
                hs.add(new Person22("zhaoyujie",21));
                hs.add(new Person22("zhaoyujie",22));
                hs.add(new Person22("zhaoyujie",23));
                hs.add(new Person22("zhaoyujie",21));
               
                Iterator it=hs.iterator();
                while(it.hasNext())
                {
                        Person22 p=(Person22)it.next();
                        sop(p.getName()+"^^^^^^^^^^^^^^^"+p.getAge());
                }
        }
}



输出结果:
zhaoyujie    hashCode
zhaoyujie    hashCode
zhaoyujie    hashCode
zhaoyujie    hashCode
zhaoyujie    hashCode
zhaoyujie^^^^^^^^^^^^^^^20
zhaoyujie^^^^^^^^^^^^^^^22
zhaoyujie^^^^^^^^^^^^^^^21
zhaoyujie^^^^^^^^^^^^^^^21
zhaoyujie^^^^^^^^^^^^^^^23


我居然给存进去了!!!是我的电脑太神奇了吗???????????????
兄弟们,告诉我,问题出在哪里 啊

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

6 个回复

倒序浏览
if(!(obj instanceof Person)),这句错了,你的人类类名是Person22,你却写成Person了。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
☆枫の云 发表于 2014-6-22 00:12
if(!(obj instanceof Person)),这句错了,你的人类类名是Person22,你却写成Person了。 ...

喂,你嫁给我吧!!!我以后就不用发愁了!!!
回复 使用道具 举报
☆枫の云 发表于 2014-6-22 00:12
if(!(obj instanceof Person)),这句错了,你的人类类名是Person22,你却写成Person了。 ...

谢拉!!!
回复 使用道具 举报
茄子 发表于 2014-6-22 08:55
喂,你嫁给我吧!!!我以后就不用发愁了!!!

{:3_68:}请叫我红领巾
回复 使用道具 举报
雷锋 飘过  不要点赞奥
回复 使用道具 举报
茄子 高级黑马 2014-6-23 08:28:29
7#

红领巾,嫁给我吧!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马