关于迭代器Iterator的两个方法
     hasNext();和next() ;
    刚刚老师讲的是hasNext方法是用来判定指向下一个,而next是用来输出当前hasNext所指向的数据,但是我刚刚自己做实验当我不要hasNext()的时候也可以同样遍历出来,
Iterator i=a.iterator();

Object o;
while(!((o =i.next()).equals("null")))
{
System.out.println(o);
}
所以我认为指向的和输出都是用next方法,而hasNext方法只是来判断里面有没有元素,如果有就true,没有就false

解决方案 »

  1.   

    hasNext() 是用来判断是否还有下一个元素,next() 是返回下一个元素。如果你不用hasNext() 去判断,源码看起来就比较丑,而且多了不必要的逻辑。
      

  2.   

    hasNext是判断光标是否等于sizenext调用一次,光标会加一
      

  3.   

    1.你说的对,next是用来移动当前指针并可以输出当前元素
    2,为什么要有hasnext呢?主要是方便遍历和输出,例如增强for循环语句,没有hasnext是不行的。