java8-lambda与方法引用与stream

lambda表达式,用于代替匿名内部类将方法作为参数传入方法中,形式上更为简洁明了

lambad表达式实际上是函数式接口的实现,不过不使用new构造一个对象,而直接使用表达式的形式,形式上清晰地表达了所要进行的操作

常见的函数是接口都位于java.util.function中

方法引用:和c++中的方法引用类似,形式上为ClassName::method,用于作为参数传入方法中

详情可见:https://www.ibm.com/developerworks/cn/java/j-java8lambdas/index.html?mhq=java-lambda&mhsrc=ibmsearch_a

 

stream:提供了类似于sql式的声明式语句来操作数据,将数据变成流进行操作,使用Stream接口实现,Stream是一个泛型接口,提供将数据变为流的能力.

各种容器都封装了stream()方法用于将数据变成流,同时int,double等基类型使用Stream构造的话运行效率不高,所用使用IntStream,DoubleStream等接口进行了包装

将数据看做流并通过不断地调用方法来操作数据非常简洁清晰

但构造流之后只能使用一次,再次使用需要使用新的流

详情可见:https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/index.html

你可能感兴趣的:(java)