Iterator问题

public class shiyan {

public static void main(String[] args) {
       ArrayList<Integer> a=new  ArrayList<Integer>();
       a.add(new Integer(1));
       a.add(new Integer(2));
       while(a.Iterator().hasNext())
       {
           a.Iterator().next();
           System.out.println("1");

       }
      }

}

代码如上。
我想遍利a ,只需要循环两次,可是不知道怎么样陷入死循环。

[quote]while(a.Iterator().hasNext())
{
a.Iterator().next();
System.out.println("1");

       } [/quote]

修改为==>
[quote]Iterator itr = a.Iterator();
while(itr.hasNext())
{
itr.next();
System.out.println("1");

       } [/quote]

循环里面每次都生成一个 a.iterator()所以永远出不来了.

[quote] while(a.Iterator().hasNext()) [/quote]
而且从性能上考虑,也不建议这么写,应该把a.Iterator()放在外面。
假如你放在while里,那么只要hasNext()存在。。则又会执行a.Iterator
你这种写法有点OUT :wink: