遍历数组1.0
public static void ergodicList(List<Integer> list){
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}看一下编译出的字节码

遍历List1.5
public static void ergodicList(List<Integer> list){
for (Integer temp : list) {
System.out.println(temp);
}
}编译结果

遍历List 2.0
public static void ergodicList(List<Integer> list){
Stream<Integer> stream = list.stream();
// 使用consumer接口实现方法
Consumer<Integer> consumer = new Consumer<Integer>() {
public void accept(Integer temp) {
System.out.print(temp);
}
};
stream.forEach(consumer);
}编译结果

遍历List 2.5
public static void ergodicList(List<Integer> list){
Stream<Integer> stream = list.stream();
Consumer<Integer> consumer = (num) -> {
System.out.print(num);
};
stream.forEach(consumer);
}编译结果

遍历List 3.0
public static void ergodicList(List<Integer> list){
Stream<Integer> stream = list.stream();
Consumer<Integer> consumer = num -> System.out.print(num);
stream.forEach(consumer);
}编译结果和2.5一样

遍历List 3.5
public static void ergodicList(List<Integer> list){
Stream<Integer> stream = list.stream();
stream.forEach(System.out::print);
}编译结果

遍历List 4.0
public static void ergodicList(List<Integer> list){
list.stream().forEach(System.out::print);
}编译结果和3.5一样

三重奏

不熟悉之前,先写匿名内部类,再逐步过度到lambda表达式
实在不行,先写匿名内部类,再在内名函数上用alt+enter,替换成lambda










