一、特性
1.Set集合内不允许有重复的元素,如果add进去两个同样的元素,set集合只会保存第一个,其size也会是1不是2。
2.Set集合的遍历要通过Iterator的hasNext()和next()方法,值得注意的是,要对同一个iterator进行hasNext()和next()操
作,建议将取到的iterator保存后,再对其进行操作,不要多次用set.iterator().hasNext().
二、实例代码
1.创建Set实例&输入输出set元素:
2.附录-解释特性2
错误代码:
1.Set集合内不允许有重复的元素,如果add进去两个同样的元素,set集合只会保存第一个,其size也会是1不是2。
2.Set集合的遍历要通过Iterator的hasNext()和next()方法,值得注意的是,要对同一个iterator进行hasNext()和next()操
作,建议将取到的iterator保存后,再对其进行操作,不要多次用set.iterator().hasNext().
二、实例代码
1.创建Set实例&输入输出set元素:
- Set<Date> dateSet=new HashSet<Date>();// create a set
- dateSet.add(new Date(20080910));
- dateSet.add(new Date(20090911));
- dateSet.add(new Date(20080910));
- dateSet.add(new Date(20090911));
- dateSet.add(new Date(20080910));
- dateSet.add(new Date(20090911));
- dateSet.add(new Date(20070911));//add seven elements into set
- Iterator<Date> dateIt=dateSet.iterator();
- while(dateIt.hasNext()){
- System.out.println(dateIt.next());
- }
- System.out.println("dateSet size="+dateSet.size());
- Output result:
- Thu Jan 01 13:34:30 CST 1970
- Thu Jan 01 13:34:50 CST 1970
- Thu Jan 01 13:34:40 CST 1970
- dateSet size=3
- Comments:
- just like what i said before,only three different elements was saved in this set,and its size is
错误代码:
- Set<Date> dateSet=new HashSet<Date>();// create a set
- dateSet.add(new Date(20080910));
- dateSet.add(new Date(20090911));
- dateSet.add(new Date(20080910));
- dateSet.add(new Date(20090911));
- dateSet.add(new Date(20080910));
- dateSet.add(new Date(20090911));
- dateSet.add(new Date(20070911));//add seven elements into set
- while(dateSet.iterator().hasNext()){
- System.out.println(dateSet.iterator().next());
- }
- 错误原因:
- while循环错了,应为它操作的不是同一个iterator。