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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑夜的触手 中级黑马   /  2015-4-22 13:20  /  472 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package IoDemo;
public class Person implements Comparable<Person>
{
        private String name;
        private int age;
        Person(String name,int age)
        {
                this.name=name;
                this.age=age;               
        }       
        public String getName()
        {
                return name;
        }
        public int getAge()
        {
                return age;
        }
        //覆写hashCode()方法
        public int hashCode()
        {
           return name.hashCode()+age*12;
        }               
        //覆写equals()方法
        public boolean equals(Object obj)
        {
                if(!(obj instanceof  Person))
                        throw new ClassCastException("类型不匹配");
                Person s=(Person)obj;
            return this.name.equals(s.name) && this.age==s.age;       
        }
        //覆写Comparable接口的compareTo方法
        public  int compareTo(Person  p)
        {       
                if(this.age==p.age)
                        return this.name.compareTo(p.name);
                return this.age-p.age;               
        }       
}


package IoDemo;
import java.util.*;
public class ListDemo {
       
        public static void main(String[]  args)
        {
                hashSetDemo();
               
        }       
        //hashSet集合操作
        public static void hashSetDemo()
        {
                HashSet<Person>  hashSet=new HashSet<Person>();               
                hashSet.add(new Person("zhangsan",20));
                hashSet.add(new Person("zhangsan",20));
                hashSet.add(new Person("lisi",21));
                hashSet.add(new Person("wangwu",22));       
               
                System.out.println("HashSet集合结果");
                //迭代
                Iterator<Person> it=hashSet.iterator();
                while(it.hasNext())
                {
                        System.out.println(it.next().getName()+"-----"+it.next().getAge());                       
                }               
        }       
}

发生异常,考验的时刻到了。

0 个回复

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