转载

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

-java之Lambda函数式编程----

背景

java 8 Lambda函数式编程,像阿里、腾讯这样的大互联网公司早就已经使用的技术。学习下jdk8的新特性,对提高开发效率和写出缺陷更低的代码都非常有好处,时代在进步编程语言也在进化。

学习目标

掌握java之Lambda函数式编程 filter、map等最常见用法;

参考样例代码你也可以写出自己的Lambda函数式代码;

代码举例

jdk1.8 Lambda函数式编程在应用开发中最常见的例子如下

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

测试数据准备

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

map

java之Lambda函数式编程

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

map+filter

java之Lambda函数式编程

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

map+object

java之Lambda函数式编程

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

map+entryset

java之Lambda函数式编程

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

optional

开发总结

  • filter 后面要是个boolean表达式,如 equals、>、<、contains
  • map 后面是返回的类型
  • filter、map后面都可以跟{你的逻辑,return boolean表达式或对象}
  • 集合后面点stream,然后filter在map,最后collect

filter和map我在加个图说明

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

map-filter

java之Lambda函数式编程

原理

我用图说明下原理

场景1普通循环代码

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

外迭代

场景1Lambda函数式编程,如上图

Java之Lambda函数式编程最佳应用举例,链式语法「真干货来拿走」

内迭代

优点

回调函数是一个合法的Lambad表达式。Lambad有利于清理掉样板代码。

明确了要达成什么转化,而不是说明如何转化,这种方式潜在缺陷更少,更直接地表达了程序员的意图。

将代码重构得更加简洁易读,Lambad更符合java设计原则。

习惯这种链式操作,程序员们多练习吧。

如果觉得对你有帮助请关注收藏转发,有错误请指点,欢迎来交流

原文  http://developer.51cto.com/art/201806/575549.htm
正文到此结束
Loading...