问答详情
源自:4-11 学生选课---通过 Set 集合管理课程

为什么我使用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());
        }
    }

提问者:魔铃咔咔 2017-05-12 13:19

个回答

  • 流失时光90
    2017-05-12 14:58:56

    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);

    }

    }

  • 慕粉1454142671
    2017-05-12 14:27:41

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


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

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