胡子哥哥
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 来描述这个过程:12345int result = IntStream.range(1, 6) // 获得集合 {1,2,3,4,5} .map(x -> x * x) // 映射为 {1,4,9,16,25} .reduce((x, y) -> x + y) // 归约 .getAsInt(); // 获得结果System.out.println(result);结果: