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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.*;
/*
往HashSet集合中存入自定义对象
姓名和年龄一样视为同一个人。
*/

class  HashSetText
{
        public static void main(String[] args)
        {
                HashSet hs=new HashSet();
                hs.add(new Person("ZhangSan1",21));
                hs.add(new Person("ZhangSan2",22));
                hs.add(new Person("ZhangSan3",23));
                hs.add(new Person("ZhangSan4",24));
                hs.add(new Person("ZhangSan5",25));
                hs.add(new Person("ZhangSan5",25));
                hs.add(new Person("ZhangSan4",23));
                for (Iterator it=hs.iterator();it.hasNext() ; )
                {
                        Object o= it.next();
                        sop(o);
                }
        }
        public static void sop(Object o )
        {System.out.println(o);}
}
class Person
{
        private String name;
        private int age;
        Person(String name, int age)
        {
                this.name=name;
                this.age=age;
        }
        public int hashCode()
        {
//        System.out.println(this.name+"........"+this.age);
        return name.hashCode()+age*5;
        }
        public boolean equals(Object obj)
        {
                if (!(obj instanceof Person))
                {
                        return false;
                }
                Person p=(Person)obj;
//                System.out.println(this.name+"______equals_______"+this.age);
                return this.name.equals(p.name)&&this.age==p.age;
        }
        public String getName()
        {
                return name;
        }
        public int getAge()
        {
                return age;
        }
}


打印结果:
Person@204d72ac
Person@204d72be
Person@204d72a6
Person@204d72b3
Person@204d72b2
还有一个问题,怎么把DOS命令行的内容复制过来?我都 是复制不过来。

1 个回复

倒序浏览
1. 你用迭代器是,打印的是学生对象。如果学生对象里面没有 重写 toString 方法的话,就会调用父类的toString方法,默认打印的是 类名 @ 十六进制的哈希值。
所以一般在需要输出对象是,就要覆写该方法。
2. 右键----标记------选中需要复制的内容-----回车键------欧了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马