teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ストリームの使い回しについて

2015/07/31 01:49

投稿

ozwk
ozwk

スコア13553

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
+ ```