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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© iFmmer 中级黑马   /  2015-6-17 21:29  /  171 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. //练习,创建一个自定义类,将其对象加入hashset集合。

  2. import java.util.HashSet;
  3. import java.util.Iterator;


  4. public class testHashSet {
  5.         public static void main(String[] agrs){
  6.                 HashSet hs = new HashSet<student>();
  7.                 hs.add(new student(11,"zhangsan"));
  8.                 hs.add(new student(2,"lisi"));
  9.                 hs.add(new student(33,"wangwu"));
  10.                 hs.add(new student(4,"zhangsan"));
  11.                
  12.                 for(Iterator<student> i = hs.iterator();i.hasNext();){
  13.                         student p = i.next();
  14.                         System.out.println(p);
  15.                 }
  16.         }
  17. }


  18. class student{
  19.         private int age;
  20.         private String name;
  21.        
  22.         student(int age,String name){
  23.                 this.name = name;
  24.                 this.age = age;
  25.         }
  26.        
  27.         public String toString() {
  28.                 return "age=" + age + ", name=" + name;
  29.         }

  30.         public int hashCode(){
  31.                 return this.name.hashCode()+age*21;
  32.         }
  33.        
  34.         public boolean equals(Object obj){
  35.                 if(obj instanceof student)
  36.                         throw new RuntimeException();
  37.                 student p = (student)obj;
  38.                 if(this.age == p.age && this.name.equals(p.name)){
  39.                         return true;
  40.                 }else{
  41.                         return false;
  42.                 }                       
  43.         }
  44.        
  45.         public int getAge() {
  46.                 return age;
  47.         }
  48.         public void setAge(int age) {
  49.                 this.age = age;
  50.         }
  51.         public String getName() {
  52.                 return name;
  53.         }
  54.         public void setName(String name) {
  55.                 this.name = name;
  56.         }
  57. }
复制代码


0 个回复

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