一个最直观的差别就是:
java代码中是你自己去循环数据项,你自己处理每一项数据,找出符合你要求的数据
SQL查询中,你只是传入通知条件where sex='男'; ,数据库在自己内部进行了循环...Java8中的行为参数化,传递的将是更加纯粹的行为,而不再需要借助一个匿名对象的形式,而且,Lambda表达式不会像内部类一样生成一个类
传递的是方法本身,方法中的代码本身
那么行为参数化,不也就是函数式编程中的闭包特性么...中表示一个函数,并且对函数进行调用
----
流
流,流动,流水,java中早就已经有了IO流,形象的表达了数据在程序中的处理与流动
Java8中的Stream流则更倾向于流水线的含义
每个节点有各自独立的功能目的...这就是确定行为参数
Java8中使用方法引用或者Lambda-匿名函数 或者方法引用来表示行为参数
4.行为的属性
既然是流水线式的工作方式,那么当前的工作结束后或许结束了或许是进入到流水线的下一环节...把Stream类比做数据项处理的流水线的话
中间操作就是流水线上的一个个的功能操作节点
而收集器就是在某些结束操作中用于将数据进行转换的工具
在Java中关于收集器有几个关键的概念
1.