java的Collection类 Part2-Set集合的特性和使用实例

一、特性

   1.Set集合内不允许有重复的元素,如果add进去两个同样的元素,set集合只会保存第一个,其size也会是1不是2。

   2.Set集合的遍历要通过Iterator的hasNext()和next()方法,值得注意的是,要对同一个iterator进行hasNext()和next()操

作,建议将取到的iterator保存后,再对其进行操作,不要多次用set.iterator().hasNext().

二、实例代码

  1.创建Set实例&输入输出set元素:

  1. Set<Date> dateSet=new HashSet<Date>();// create a set
  2. dateSet.add(new Date(20080910));
  3. dateSet.add(new Date(20090911));
  4. dateSet.add(new Date(20080910));
  5. dateSet.add(new Date(20090911));
  6. dateSet.add(new Date(20080910));
  7. dateSet.add(new Date(20090911));
  8. dateSet.add(new Date(20070911));//add seven elements into set
  9.         
  10. Iterator<Date> dateIt=dateSet.iterator();
  11. while(dateIt.hasNext()){
  12.     System.out.println(dateIt.next());
  13. }
  14. System.out.println("dateSet size="+dateSet.size());
  15. Output result:
  16.         
  17.     Thu Jan 01 13:34:30 CST 1970
  18.     Thu Jan 01 13:34:50 CST 1970
  19.     Thu Jan 01 13:34:40 CST 1970
  20.     dateSet size=3
  21. Comments:
  22.          just like what i said before,only three different elements was saved in this set,and its size is 
    2.附录-解释特性2

        错误代码:
  1. Set<Date> dateSet=new HashSet<Date>();// create a set
  2. dateSet.add(new Date(20080910));
  3. dateSet.add(new Date(20090911));
  4. dateSet.add(new Date(20080910));
  5. dateSet.add(new Date(20090911));
  6. dateSet.add(new Date(20080910));
  7. dateSet.add(new Date(20090911));
  8. dateSet.add(new Date(20070911));//add seven elements into set
  9.         
  10. while(dateSet.iterator().hasNext()){
  11.     System.out.println(dateSet.iterator().next());
  12.             }
  13. 错误原因:
  14.          while循环错了,应为它操作的不是同一个iterator。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值