为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我使用iterator遍历,只输出了部分元素,而用foreach输出是正常的?

    /**
     * 使用迭代器Iterator遍历输出list
     * @param args
     */
    public void testIterator(){
        //创建iterator对象
        Iterator<Course> it=coursesList.iterator();
        while(it.hasNext()){
            System.out.println("课程ID:"+it.next().getId()+"  课程名称:"+it.next().getName());
        }
    }

正在回答

2 回答

public void testIterator(){

//通过集合的iterator方法,取得迭代器的实例

Iterator it=coursesToSelect.iterator();

System.out.println("有如下课程待选(通过迭代器访问):");

while(it.hasNext()){

Course cr=(Course)it.next();

System.out.println("课程:"+cr.id+":"+cr.name);

}

}

0 回复 有任何疑惑可以回复我~

it.next().getId() 和 it.next().getName() 分别进行两次获取


应该用一个对象 例如course = it.next()

system.out.printl(课程id" + course.getId() + ",课程名称" + course.getName());


0 回复 有任何疑惑可以回复我~
#1

魔铃咔咔 提问者

还真是这原因,可是为什么直接输出就只获取部分元素呢?啥原理?
2017-05-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我使用iterator遍历,只输出了部分元素,而用foreach输出是正常的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信