package com.zxr.stream;
import java.util.ArrayList;
import java.util.function.Consumer;
public class Test04 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("张三丰");
list.add("张翠山");
list.add("王二麻子");
list.add("张飞");
list.add("谢广坤");
// void forEach(Consumer action):对此流的每个元素执行操作
// 解释:Consumer接口中的方法 void accept(Tt):对给定的参数执行此操作
/*
* 在forEach方法的底层,会循环获取到流中的每一个数据,
* 并循环调用accept方法,并把每一个数据传递给accept方法
* s就依次表示了流中的每一个数据,所以,
* 我们只要在accept方法中,写上处理的业务逻辑就可以了
* */
list.stream().forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
// 因为Consumer接口中只有一个accept方法,所以可以用lambda表达式的简化写法
list.stream().forEach((String s)->{
System.out.println(s);
});
//lambda还可以进一步简化
list.stream().forEach(s -> System.out.println(s));
// long count():返回此流中的元素数
long count = list.stream().count();
System.out.println(count);
}
}
标签:stream,操作方法,常见,list,accept,add,forEach,终结,Consumer
From: https://www.cnblogs.com/dragon-proud-sky/p/18093903