码迷,mamicode.com
首页 > 其他好文 > 详细

集合框架(迭代器使用的问题探讨)

时间:2016-04-28 18:26:19      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:集合框架(迭代器使用的问题探讨)

package cn.itcast_03;


import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;


/*

 * 问题1:能用while循环写这个程序,我能不能用for循环呢?

 * 问题2:不要多次使用it.next()方法,因为每次使用都是访问一个对象

 */

public class IteratorTest2 {

public static void main(String[] args) {

// 创建集合对象

Collection c = new ArrayList();


// 创建学生对象

Student s1 = new Student("林青霞", 27);

Student s2 = new Student("风清扬", 30);

Student s3 = new Student("令狐冲", 33);

Student s4 = new Student("武鑫", 25);

Student s5 = new Student("刘晓曲", 22);


// 把学生添加到集合中

c.add(s1);

c.add(s2);

c.add(s3);

c.add(s4);

c.add(s5);


// 遍历

Iterator it = c.iterator();

while (it.hasNext()) {

Student s = (Student) it.next();

        System.out.println(s.getName() + "---" + s.getAge());


// NoSuchElementException 不要多次使用it.next()方法

// System.out.println(((Student) it.next()).getName() + "---"

                // + ((Student) it.next()).getAge()); 这儿要报错,为什么呢?你这里相当于拿的是第一个人的名字,第二个人的年龄,第三个人的名字,第四个人的年龄,第五个人的名字,哟,五个人,所以没有了


}

// System.out.println("----------------------------------");


// for循环改写

// for(Iterator it = c.iterator();it.hasNext();){

// Student s = (Student) it.next();

// System.out.println(s.getName() + "---" + s.getAge());

// }

}

}


本文出自 “GD” 博客,转载请与作者联系!

集合框架(迭代器使用的问题探讨)

标签:集合框架(迭代器使用的问题探讨)

原文地址:http://wangdenghui.blog.51cto.com/9930072/1768689

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!