Iterator 迭代器 集合的专用遍历方式
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public static void main(String[] args) {
//创建对象
Collection<String> c = new ArrayList<String>();
//添加元素
c.add("张三");
c.add("李四");
c.add("王五");
//返回集合元素中的迭代器,通过集合Iterator()方法得到
Iterator<String> it = c.iterator();
//返回迭代中的下一个元素
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());
//NoSuchElementException
System.out.println(it.next());
}
NoSuchElementException表示由各种访问器方法抛出以指示所请求的元素不存在。
代码改进:在迭代器获取集合元素前通过hasNext()方法进行判断
//如果迭代器具有更多元素,则返回true
if (it.hasNext()){
System.out.println(it.next());
}
if (it.hasNext()){
System.out.println(it.next());
}
if (it.hasNext()){
System.out.println(it.next());
}
if (it.hasNext()){
System.out.println(it.next());
}
代码进一步改进,通过循环的方式输出集合元素
//用while循环改进判断
while (it.hasNext()) {
//System.out.println(it.next());
String s = it.next();
System.out.println(s);
}