黑马程序员技术交流社区

标题: 一个集合的Iterator的问题 [打印本页]

作者: 无气打火机    时间: 2013-7-21 02:19
标题: 一个集合的Iterator的问题
本帖最后由 无气打火机 于 2013-7-21 18:17 编辑
  1. import java.util.HashSet;
  2. import java.util.Iterator;


  3. public class HashSetDemo {
  4.         public static void main(String[] args) {
  5.                 HashSet hs = new HashSet();
  6.                 hs.add("就业班");
  7.                 hs.add("基础班");
  8.                 hs.add("冲刺班");
  9.                 hs.add("加强班");
  10.                 hs.add("远程班");
  11.                 Iterator it = hs.iterator();
  12.                 while(it.hasNext()) {
  13.                         String str = (String)it.next();
  14.                         System.out.println(str);
  15.                         if(str.equals("就业班")) {//这里为什么要这样做?他们的代码是说删除上一次next返回的元素。为什么要删除上一次返回的元素?
  16.                                 
  17.                                 it.remove();
  18.                         }
  19.                 }
  20.                
  21.         }
  22.         
  23.         
  24. }
复制代码
问题都在代码注释里,请各位大虾帮忙解答下小弟的问题
作者: 草貌路飞    时间: 2013-7-21 02:48
就是举了个例子可以删除集合中的元素,你想删哪个都行,只是判断出是你想删的。也不是什么上一个,就理解成删除你本次循环得到的那个就行
作者: 李江    时间: 2013-7-21 07:33
这是一个需求问题吧,老师讲就是功能举例,如何删除集合中的元素,比如说,你现在有一个职工表,有一天某一职工辞职了,你需要删除他的信息,你就可以使用这种方式去删除了,即,找到该职工,删除他的信息。不是删除下一个,是删除满足你想要删元素的条件即可。
作者: 杨兴庭    时间: 2013-7-21 12:17
  1. Iterator it = hs.iterator();                  //创建迭代器

  2. while(it.hasNext()) {                      //判断迭代器中是否存在值

  3. String str = (String)it.next();      //遍历迭代器中值,转为String类型        it.next()的意思就是遍历堆栈中(迭代器中)值
  4.   
  5. System.out.println(str);         //打印迭代器中的值

  6. if(str.equals("就业班")) {          //如果遍历到的值是“就业班”就删掉


  7. it.remove();

  8. }

  9. }

复制代码





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