深入理解函数式编程

关键词:专治不明白 大纲:lambda表达式的本质是匿名内部类、lambda表达式的省略规则、stream API就是运用fluent风格的一个特例、一分钟理解MapReduce、用Intellij对stream API做debug ... »

xiexj

廖雪峰--python教程:笔记四-函数式编程

函数式编程: 概念:是一种抽象程度很高的编程方式,允许将一个函数作为参数传入另一个函数,还允许返回一个函数。 接下来介绍: map/reduce,filter,stored函数,返回函数,匿名函数,装 »

double-lin

面试官问:说说你对Java函数式编程的理解

常见的面试问题 总结一下,在Java程序员的面试中,经常会被问到类似这样的问题: Java中的函数式接口是什么意思? 注解 @FunctionalInterface 的作用是什么? 实现一个函数式接口有哪几种方式? lambda表达式和匿名内部类有什么区别? Java中的方法引用有哪几种形式? 能说 ... »

Java中的函数式编程(八)流Stream并行编程

写在前面 在本系列文章的第一篇,我们提到了函数式编程的优点之一是“易于并发编程”。 Java作为一个多线程的语言,它通过 Stream 来提供了并发编程的便利性。 题外话: 严格来说,并发和并行是两个不同的概念。 “并发(Concurrency)”强调的是在同一时间开始执行多个任务,通常会涉及多线程 ... »

Java中的函数式编程(七)流Stream的Map-Reduce操作

写在前面 Stream 的 Map-Reduce 操作是Java 函数式编程的精华所在,同时也是最为复杂的部分。但一旦你啃下了这块硬骨头,那你就真正熟悉Java的函数式编程了。 如果你有大数据的编程经验,你会对术语 Map-Reduce 十分熟悉亲切。如果你不熟悉大数据编程,也无所谓,通过本文的学习 ... »

Java中的函数式编程(六)流Stream基础

写在前面 如果说函数式接口和lambda表达式是Java中函数式编程的基石,那么stream就是在基石上的最富丽堂皇的大厦。 只有熟悉了stream,你才能说熟悉了Java 的函数式编程。 本文主要介绍Stream的基础概念和基本操作,让大家对Stream有一个初步的理解。 本文的示例代码可从git ... »

廖雪峰--python教程:笔记四-函数式编程

函数式编程: 概念:是一种抽象程度很高的编程方式,允许将一个函数作为参数传入另一个函数,还允许返回一个函数。 接下来介绍: map/reduce,filter,stored函数,返回函数,匿名函数,装 »

double-lin

Java中的函数式编程(五)Java集合框架中的高阶函数

写在前面 随着Java 8引入了函数式接口和lambda表达式,Java 8中的集合框架(Java Collections Framework, JCF)也增加相应的接口以适应函数式编程。 本文的目标是带领大家熟悉Java 8中集合框架新增的常用接口,让我们的代码更简洁、更高级。 本文的示例代码可从 ... »

Java中的函数式编程(四)方法引用method reference

写在前面 我们已经知道,lambda表达式是一个匿名函数,可以用lambda表达式来实现一个函数式接口。 很自然的,我们会想到类的方法也是函数,本质上和lambda表达式是一样的,那是否也可以用类的方法来实现一个函数式接口呢?答案是可以的。我们称之为方法引用(method reference)。 本 ... »

Java中的函数式编程(三)lambda表达式

写在前面 lambda表达式是一个匿名函数。在Java 8中,它和函数式接口一起,共同构建了函数式编程的框架。 lambda表达式乍看像是匿名内部类的一种语法糖,但实际上,它们是两种本质不同的事物。匿名内部类本质是一个类,只是不需要程序员显示指定类名,编译器会自动为该类取名。而 lambda 表达式 ... »

Matlab 函数式编程

作为一个Mathematica的熟练使用者,在切换到Matlab时总会经常产生编程习惯上的“水土不服”。利用Mathematica强大而丰富的内置函数,我们可以以简洁的代码实现复杂的功能。相比之下,M »

jerrycetc

Java中的函数式编程(二)函数式接口Functional Interface

写在前面 前面说过,判断一门语言是否支持函数式编程,一个重要的判断标准就是:它是否将函数看做是“第一等公民(first-class citizens)”。函数是“第一等公民”,意味着函数和其它数据类型具备同等的地位——可以赋值给某个变量,可以作为另一个函数的参数,也可以作为另一个函数的返回值。 Ja ... »