黑马程序员技术交流社区

标题: ListIterator,迭代器的一个问题 [打印本页]

作者: 错过了今天    时间: 2014-4-22 19:55
标题: ListIterator,迭代器的一个问题
  1. package JAVA_Collection;

  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import java.util.ListIterator;

  5. //ListIterator:列表迭代器
  6. public class Java_Collection_ListIterator_Demo1
  7. {
  8.         public static void main(String[] args)
  9.         {
  10.                 ArrayList a1=new ArrayList();
  11.                 //添加元素
  12.                 a1.add("java001");
  13.                 a1.add("java003");
  14.                 a1.add("java005");
  15.                 a1.add("java007");
  16.                
  17.                 sop(a1);
  18.                
  19.                 Iterator it=a1.iterator();
  20.                
  21.                 while(it.hasNext())
  22.                 {
  23.                         Object obj=it.next();
  24.                        
  25.                         if(obj.equals("java007"));//移除“java007”但是结果显示为空
  26.                         it.remove();
  27.                         sop("obj="+obj);
  28.                        
  29.                 }
  30.                
  31.                 sop(a1);
  32.         }
  33.         public static void sop(Object obj)
  34.         {
  35.                 System.out.println(obj);
  36.         }

  37. }
复制代码

作者: 错过了今天    时间: 2014-4-22 19:56
不知道哪出错了,我移除“java007”的对象,但是结果显示为空。。。


作者: ⒈心只霸占沵    时间: 2014-4-22 20:08
因为你while条件里的if条件后面加了";",代表着行代码结束,所以it.remove()每次循环都会执行,把";"删了就可以
作者: 错过了今天    时间: 2014-4-22 20:18
⒈心只霸占沵 发表于 2014-4-22 20:08
因为你while条件里的if条件后面加了";",代表着行代码结束,所以it.remove()每次循环都会执行,把";"删了 ...

哎~~~老粗心了~~~谢谢!!!!:)
作者: zzkang0206    时间: 2014-4-25 16:12
好眼力呀!!!




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