黑马程序员技术交流社区

标题: hashSet练习 [打印本页]

作者: iFmmer    时间: 2015-6-17 21:29
标题: hashSet练习
  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. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2