回答編集履歴
1
ストリームの使い回しについて
answer
CHANGED
@@ -5,4 +5,17 @@
|
|
5
5
|
IntStream grade0 = stream.filter((n) -> EvaluationRule.classify(n) == 0);
|
6
6
|
```
|
7
7
|
|
8
|
-
合計などが欲しくなったら分けたストリームを統合すればいいでしょう。
|
8
|
+
合計などが欲しくなったら分けたストリームを統合すればいいでしょう。
|
9
|
+
|
10
|
+
---
|
11
|
+
|
12
|
+
思いっきりC#のノリで書いてしまいましたが、
|
13
|
+
javaのStreamは使い回しができないので
|
14
|
+
一々ストリーム元からストリームを生成する必要がありました。
|
15
|
+
|
16
|
+
```java
|
17
|
+
int[] source = { 1,2,3,4,5};
|
18
|
+
IntStream s1 = Arrays.stream(source).filter(i -> i < 3).map(i -> 1);
|
19
|
+
IntStream s2 = Arrays.stream(source).filter(i -> i >= 3).map(i -> 2);
|
20
|
+
IntStream s12 = IntStream.concat(s1, s2);
|
21
|
+
```
|