map 根据输入的映射函数,将一个集合映射为另一个集合,比如:
输入集合为 {1,2,3,4,5},输入的函数为 f(x) = x^2,那么输出的集合就是 {1,4,9,16,25}。
reduce 就是根据输入的归约函数,将集合(一般指map输出的集合)归约,比如上面的输出集合是 {1,4,9,16,25},假设我们的归约函数是 f(x,y) = x + y, 那么 reduce 的过程就是 {5,9,16,25} -> {14,16,25} -> {30,25} -> {55}。
我们使用 Java8 来描述这个过程:
int result = IntStream.range(1, 6) // 获得集合 {1,2,3,4,5}结果: