1、什么是Stream?
a、Stream在java8中被定义为泛型接口
b、Stream接口代表数据流
c、Stream不是一个数据结构,不直接存储数据
d、Stream通过管道操作数据
e、创建Stream接口实现类对象:
stream(): 创建一个Stream接口实现类的对象
例如:Stream<Person> stream=people.stream(); // people是ArrayList对象
2、什么是管道
管道:代表一个操作序列
管道包含以下组件:
①、数据集:可能是集合、数组等。
②、零个或多个中间业务。如过滤器
③、一个终端操作,如forEach
3、什么是过滤器
①、过滤器:用给定的条件在源数据基础上过滤新的数据,并返回一个Stream对象。
②、过滤器包含匹配的谓词
例如:判断p对象是否为男性的lambda表达式:
Stream<Person> stream = people.stream();
stream=stream.filter(p->p.getGender()=='男');
eg:创建一个元素为Person类的集合:people使用Stream和forEach显示该集合所有元素