迭代器遍历
特点:迭代器不依赖素引
迭代器使用案例一般在集合中使用
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class text1 {
public static void main(String[] args) {
Collection<String> coll=new ArrayList<>();
coll.add("a");
coll.add("b");
coll.add("c");
coll.add("d");
//2.获取迭代器对象
//迭代器就好比是一个箭头,默认指向集合的e索引处
Iterator<String> it=coll.iterator();
//利用循环不断的去获取集合中的每一个元素
while(it.hasNext()){
//next方法的两件事情:获取元素并移动指针
String s= it.next();
System.out.println(s);
}
}
}
增强for遍历
增强for的底层就是选代器,为了简化迭代器的代码书写的。
它是JDK5之后出现的,其内部原理就是一个Iterator迭代器
所有的单列集合和数组才能用增强for进行遍历。
使用案例
import java.util.ArrayList;
import java.util.Collection;
public class text1 {
public static void main(String[] args) {
Collection<String> coll=new ArrayList<>();
coll.add("a");
coll.add("b");
coll.add("c");
coll.add("d");
for(String s:coll){
System.out.println(s);
}
}
}
ambda表达式遍历:
格式:对象名.forEach(new Consumer<String>()
可以先写成
coll.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
函数式接口可以改成lambda表达式
第一步先删:
第二部再删一个括号
第三步
加个->
第四步数据类型可以省略
如果参数只有一个小阔和可以省略
方法体只有一行return可以省略大括号可以省略