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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Kikyou2014 中级黑马   /  2014-11-6 20:36  /  1384 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.*;
  2. class HashtableDemo
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 Set<RectangleTest> set=new HashSet<RectangleTest>();
  7.                 RectangleTest rect1=new RectangleTest(3,4);
  8.                 RectangleTest rect2=new RectangleTest(4,5);
  9.                 RectangleTest rect3=new RectangleTest(3,4);
  10.                 RectangleTest rect4=new RectangleTest(5,7);
  11.                 set.add(rect1);
  12.                 set.add(rect2);
  13.                 set.add(rect3);
  14.                 set.add(rect4);
  15.                 System.out.println(set.size());
  16.                 rect4.width=7;
  17.                 System.out.println(set.contains(rect2));
  18.                 System.out.println(set.contains(rect4));
  19. //                System.out.println(set.remove(rect4));
  20.                 System.out.println(set.size());
  21.         }
  22. }
  23. class RectangleTest
  24. {
  25.         public int width;
  26.         public int height;
  27.         public RectangleTest(int width,int height)
  28.         {
  29.                 this.width=width;
  30.                 this.height=height;
  31.         }
  32.         public boolean equals(Object obj)
  33.         {
  34.                 if(this==obj)
  35.                         return true;
  36.                 if(obj==null)
  37.                         return false;
  38.                 if(getClass()==obj.getClass())
  39.                         return true;
  40.                 RectangleTest rect=(RectangleTest)obj;
  41.                 if(width!=rect.width)
  42.                         return false;
  43.                 if(height!=rect.height)
  44.                         return false;
  45.                 return true;
  46.         }
  47.         public int hashCode()
  48.         {
  49.                 final int prim=31;
  50.                 int result=1;
  51.                 result=prim*result+width;
  52.                 result=prim*result+height;
  53.                 return result;
  54.         }
  55. }
复制代码


0 个回复

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