Skip to content

Commit bdcc5a8

Browse files
committed
修正排版
1 parent e709d86 commit bdcc5a8

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

4-Streams(I).md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Streams(I)
22

3-
你可能还没意识到Java对函数式编程的重视程度,看看Java 8加入函数式编程扩充多少类就清楚了。Java 8之所以费这么大功夫引入函数式编程,原因有二:
3+
你可能没意识到Java对函数式编程的重视程度,看看Java 8加入函数式编程扩充多少功能就清楚了。Java 8之所以费这么大功夫引入函数式编程,原因有二:
44

5-
1. __代码简洁__函数式编程写出的代码简洁且意图明确,使用*stream*接口让你从此告别*for*循环。
6-
2. __多核友好__,Java函数式编程使得编写并行程序从未如此简单,你需要的全部就是调用一下`parallel()`方法。
5+
1. **代码简洁**函数式编程写出的代码简洁且意图明确,使用*stream*接口让你从此告别*for*循环。
6+
2. **多核友好**,Java函数式编程使得编写并行程序从未如此简单,你需要的全部就是调用一下`parallel()`方法。
77

8-
这一节我们要学习*stream*,也就是Java函数式编程的主角。对于Java 7来说*stream*完全是个陌生东西,*stream*并不是某种数据结构,它只是数据源的一种视图。这里的数据源可以是一个数组,Java容器或I/O channel等。正因如此要得到一个*stream*通常不会手动创建,而是调用对应的工具方法,比如:
8+
这一节我们学习*stream*,也就是Java函数式编程的主角。对于Java 7来说*stream*完全是个陌生东西,*stream*并不是某种数据结构,它只是数据源的一种视图。这里的数据源可以是一个数组,Java容器或I/O channel等。正因如此要得到一个*stream*通常不会手动创建,而是调用对应的工具方法,比如:
99

1010
- 调用`Collection.stream()`或者`Collection.parallelStream()`方法
1111
- 调用`Arrays.stream(T[] array)`方法
@@ -129,7 +129,7 @@ stream.flatMap(list -> list.stream())
129129

130130
上述代码中,原来的`stream`中有两个元素,分别是两个`List<Integer>`,执行`flatMap()`之后,将每个`List`都“摊平”成了一个个的数字,所以会新产生一个由5个数字组成的`Stream`。所以最终将输出1~5这5个数字。
131131

132-
## 小结
132+
## 结语
133133

134134
截止到目前我们感觉良好,已介绍`Stream`接口函数理解起来并不费劲儿。如果你就此以为函数式编程不过如此,恐怕是高兴地太早了。下一节对`Stream`规约操作的介绍将刷新你现在的认识。
135135

0 commit comments

Comments
 (0)