迭代器在java中的类是Interator,迭代器是集合专用的迭代方式 常用方法:boolean hasnext() 判断当前位置是否有元素,有元素返回true,没有返回false; E next() 获取当前位置的元素,并将迭代器移向下一个位置
/**
* 1.如果next()指针已经指向最后一位,再次调用next方法会报错
* 2.迭代器遍历结束,指针不会复位
* 3.循环中只能使用一次next()方法
* 4.迭代器遍历不能使用集合的方法,例如增加删除
* */
Collection<String> coll=new ArrayList<>();
coll.add("a");
coll.add("b");
coll.add("c");
coll.add("d");
Iterator<String> it= coll.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
增强for循环遍历,增强for的底层就是迭代器,只是书写上简化了,单例集合和数组都可以使用此方式遍历(map达咩)
/**
*s是第三方变量,循环过程中依次表示集合中每一个数据
*修改s不会影响集合原本的元素
**/
for (String s : coll) {
//s="a";
System.out.println(s);
}
lambda表达式遍历
coll.forEach((String s)-> {
System.out.println(s);
});