Java Lambda Tutorial

· 自行出版
5.0
9条评价
电子书
61

关于此电子书

相對於 JavaScript、Python、Scala 等本身支援一級函式(First class function)的語言,Java 開發者對於一級函式是比較陌生的,因而在 2010 年 JCD 中的議程 Lambda/Closure - 從 JavaScript、Python、Scala 到 Java SE 7,我簡單地從 JavaScript、Python、Scala 等語言的一級函式特性開始介紹,分享了 Java 要加入 Lambda/Closure 會有什麼樣的考量。

Java 的 Lambda 語法後來歷經了數次的討論與改變,後來確定在 Java SE 8 中引入 Lambda,也引進了因應新語法而帶來的 API 新功能,因而我在 2012 年 Java TWO 議程 Java SE 8 的 Lambda 連鎖反應 中,從 Lambda 演算開始探討了 Lambda 的前世今生,以及會對 Java 帶來的新典範(Paradigm)與風格。

Java 引入的新典範其實有著函數式程式設計(Functional programming)的影子,想要善用 Java 引入的 Lambda 語法與新 API,先認識函數式程式設計會有非常大的幫助,因而在 2012 年 JCD 中,我於議程 Java 開發者的函數式程式設計 中探討了函數式程式設計,以及在 Java 中如何適當地運用函數式風格。

Java SE 8 確定於 2014 年 3 月發表,而我發現過去的這幾個議程可以整理成為系列文章,讓大家可以認識 Java 中 Lambda 的前世今生。除此之外,最後並加上了 JDK8 Functional API 的介紹,讓本書對 JDK8 Lambda 的介紹更為完整。

認識 Lambda/Closure

  • 從 JavaScript 的函式物件談起
  • 什麼是 Closure?
  • Python 對 Lambda/Closure 的支援
  • 從 Scala 中借鏡
  • Java 的稻草人提案
  • 一級函式與 Lambda 演算
  • JDK8 Lambda 語法
  • 方法參考與建構式參考

Java 開發者的函數式程式設計

  • 初探函數式程式設計
  • 代數資料型態
  • List 處理模式
  • 不可變特性
  • JDK8 預設方法
  • 惰性
JDK8 Functional API
  • 使用 Optional 取代 null
  • Consumer、Function、Predicate 與 Supplier
  • 使用 Stream 進行管線操作
  • Stream 的 reduce 與 collect
  • Optional 與 Stream 的 flatMap
  • Stream 與平行化

评分和评价

5.0
9条评价

作者简介

目前為自由工作者,專長為技術寫作、翻譯與教育訓練。喜好研究程式語言、框架、社群,從中學習設計、典範及文化。閒暇之餘記錄所學,技術文件涵蓋 C/C++、Java、Ruby/Rails、Python、JavaScript、Haskell 等領域。

为此电子书评分

欢迎向我们提供反馈意见。

如何阅读

智能手机和平板电脑
只要安装 AndroidiPad/iPhone 版的 Google Play 图书应用,不仅应用内容会自动与您的账号同步,还能让您随时随地在线或离线阅览图书。
笔记本电脑和台式机
您可以使用计算机的网络浏览器聆听您在 Google Play 购买的有声读物。
电子阅读器和其他设备
如果要在 Kobo 电子阅读器等电子墨水屏设备上阅读,您需要下载一个文件,并将其传输到相应设备上。若要将文件传输到受支持的电子阅读器上,请按帮助中心内的详细说明操作。