kotlin语言因为追求代码简洁性,当然会支持函数式编程了。至于什么是函数式编程,有必要在这里引用几句话来稍微解释一下:
1、函数式编程是一种编程范式,我们常见的编程范式有命令式编程(Imperative programming),函数式编程,逻辑式编程,常见的面向对象编程是也是一种命令式编程。
2、函数式编程是面向数学的抽象,将计算描述为一种表达式求值,一句话,函数式程序就是一个表达式。
3、函数式编程关心类型(代数结构)之间的关系,命令式编程关心解决问题的步骤。
如果还是不太懂,推荐大家看看这个知乎问答,自己慢慢摸索理解:什么是函数式编程思维?
好了,回到今天的主体,kotlin中的filter函数。见词如意,filter这个单词大概就是筛选、过滤的意思,所以也可以把filter函数理解为一个可以用来做筛选的函数。它通常是用于将用户给定的筛选条件作用于集合,返回由原集合中符合条件的元素组合的一个子集。下面,我们来做个小需求 ,并且通过Java和kotlin两种代码,来更好的理解。
现在有这么个需求,要求在给定集合中,筛选出2的倍数,通常我们会这么做:
//Java 实现
int[] original = {1, 2, 3, 4, 5, 6, 7, 8, 9};
List<Int