-
Java函数式编程
收藏专栏文章翻译自国外Venkat Subramaniam的Functional Programming in Java,主要介绍了Java 8中的函数式编程的使用。
最近更新文章
Java函数式编程(十四)监控文件修改
本系列文章译自Venkat Subramaniam的Functional Programming in Java
未完待续,后续文章请继续关注[url={{ site.url }}]Java译站[/url]。
使用flatMap列出子目录
前面已经看到如何列出指定目录下的文件了。我们再来看下如何遍历指定目录的直接子目录(深度为1),先实现一个简单的版本,然后再用更方便的flatMap()方法来 ...
Java函数式编程(十三)遍历目录
本系列文章译自Venkat Subramaniam的Functional Programming in Java
未完待续,后续文章请继续关注[url={{ site.url }}]Java译站[/url]。
列出目录中的文件
用File类的list()方法可以很容易的列出目录中的所有文件的文件名。如果想要获取文件而不止是文件名的话,可以使用它的listFiles()方法。这很简单,难的是怎么 ...
Java函数式编程(十二)收集器
本系列文章译自Venkat Subramaniam的Functional Programming in Java
未完待续,后续文章请继续关注[url={{ site.url }}]Java译站[/url]。
前面我们已经用过几次collect()方 ...
Java函数式编程(十一)Comparator
本系列文章译自Venkat Subramaniam的Functional Programming in Java
未完待续,后续文章请继续关注Java译站。
实现Comparator接口
Comparator接口的身影在JDK库中随处可见,从查找到排序,再到反转操作,等等。Java 8里它变成了一个函数式接口,这样的好处就是我们可以使用流式语法来实现比较器了。
我们用几种不同的方式来实现一 ...
Java函数式编程(十)字符串及方法引用
本系列文章译自Venkat Subramaniam的Functional Programming in Java
未完待续,后续文章请继续关注[url={{ site.url }}]Java译站[/url]。
<h2>第三章 字符串,比较器和过滤器</h3>
JDK引入的一些方法对写出函数式风格的代码很有帮助。JDK库里的一些的类和接口我们已经用得非常熟悉了,比如说S ...
Java函数式编程(九)MapReduce
译注:map(映射)和reduce(归约,化简)是数学上两个很基础的概念,它们很早就出现在各类的函数编程语言里了,直到2003年Google将其发扬光大,运用到分布式系统中进行并行计算后,这个组合的名字才开始在计算机界大放异彩(那些函数式粉可能并不这么认为)。本文我们会看到Java 8在摇身一变支持函数式编程后,map和reduce组合的首次亮相(这里只是初步介绍,后续还会有针对它们的专题)。
...
Java函数式编程(八)Optional
本系列文章译自Venkat Subramaniam的Functional Programming in Java
未完待续,后续文章请继续关注Java译站。
选取单个元素
直觉来说选取单个元素肯定会比选取多个要简单得多,不过这里也存在一些问题。我们先看下一般的做法的问题是什么,然后再看下如何用lambda表达式来解决它。
我们先新建一个方法来查找一个以特定字母开头的元素,然后打印出来。
...
Java函数式编程(七)闭包
使用词法作用域和闭包
很多开发人员都存在这种误解,认为使用lambda表达式会导致代码冗余,降低代码质量。恰恰相反,就算代码变得再复杂,我们也 ...
Java函数式编程(六)查找元素
本系列文章译自Venkat Subramaniam的Functional Programming in Java
未完待续,后续文章请继续关注Java译站。
查找元素
现在我们对这个设计优雅的转化集合的方法已经不陌生了,但它对查找元素却也是无能为力。不过filter方法却是为这个而生的。
我们现在要从一个名字列表中,取出那些以N开头的名字。当然可能一个也没有,结果可能是个空集合。我们先用老 ...
Java函数式编程(五)列表的转化
本系列文章译自Venkat Subramaniam的Functional Programming in Java
列表的转化
将集合转化成一个新的集合就和遍历它一样简单。假设我们要将列表中的名字转化 ...
Java函数式编程(四)集合的使用
本系列文章译自Venkat Subramaniam的Functional Programming in Java
第二章:集合的使用
我们经常会用到各种集合,数字的,字符串的还有对象的。它们无处不在,哪怕操作集合的代码要能稍微优化一点,都能让代码清晰很多。在这章中,我们探索下如何使用lambda表达式来操作集合。我们用它来遍历集合,把集合转化成新的集合,从集合中删除元素,把集合进行合并。
遍 ...
Java函数式编程(三)
本系列文章译自Venkat Subramaniam的Functional Programming in Java
第四节:进化而非革命
我们用不着转向别的语言,就能享受函数式编程带来的好处;需要改变 ...
Java函数式编程(二)
本系列文章译自Venkat Subramaniam的Functional Programming in Java
未完待续,后续文章请继续关注deepinmind。
译者注:本篇会有点无聊,希望你不要睡着了。
第 ...
Java函数式编程(一)
本系列文章译自Venkat Subramaniam的<a href="http://pragprog.com/book/vsjava8/functional-programming-in-java" target="_blank"><em>Functional Programming in Java</em></a&g ...