一、迭代器
1.迭代器在遍历集合时不依赖索引
2.迭代器的三个方法
Iterator<String> it = coll.iterator();
//利用while循环不断遍历
while (it.hasNext()){
//next方法不断获取元素并且移动指针
String str = it.next();
System.out.println(str);
}
3.迭代器的四个细节
如果当前位置没有元素,还要强行获取,会报NoSuchElementException
迭代器遍历完毕,指针不会复位
循环中只能用一次next方法
迭代器遍历时,不能用集合的方法进行增加删除
代码实现
package CollectionDemo1;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class mycollection {
public static void main(String[] args) {
/*
迭代器遍历
*/
//创建集合并添加元素
Collection<String> coll = new ArrayList<>();
coll.add("aaa");
coll.add("bbb");
coll.add("ccc");
coll.add("ddd");
System.out.println(coll);
//获取迭代器对象
//迭代器默认指向集合的0索引
//迭代器遍历完成指针不会复位
//迭代器遍历时不能用集合的方法添加删除。
Iterator<String> it = coll.iterator();
//利用while循环不断遍历
while (it.hasNext()){
//next方法不断获取元素并且移动指针
String str = it.next();
System.out.println(str);
}
}
}
二、 增强for遍历
代码实现
/*增强for格式
for(数据类型 变量名:集合/数组){
}
快速生成的方式 :
集合的名字加+for 回车
* */
for (String s : coll) {
System.out.println(s);
}
三、lambda表达式遍历
//lambda表达式遍历
//default void forEach(Consumer<? super T>action);
coll.forEach(s -> System.out.println(s));
总结: