回答編集履歴
2
typo
test
CHANGED
@@ -16,17 +16,17 @@
|
|
16
16
|
|
17
17
|
.mapToObj(i ->
|
18
18
|
|
19
|
-
ne
|
19
|
+
IntStream.rangeClosed(1, 3)
|
20
20
|
|
21
|
-
Int
|
21
|
+
.mapToObj(num -> Integer.valueOf(i * num))
|
22
22
|
|
23
|
-
|
23
|
+
.collect(Collectors.toList()
|
24
24
|
|
25
|
-
.collect(Collectors.toList())
|
26
|
-
|
27
|
-
)
|
25
|
+
)
|
28
26
|
|
29
27
|
)
|
28
|
+
|
29
|
+
.map(ArrayList::new)
|
30
30
|
|
31
31
|
.collect(Collectors.toList());
|
32
32
|
|
@@ -71,3 +71,37 @@
|
|
71
71
|
.mapToObj(i ->
|
72
72
|
|
73
73
|
```
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
---
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
余談ですが、StreamAPIを使い始めて、collectとか使わなくちゃいけなくて、なんかめんどうくさいなぁ、とおもいはじめてKotlinをみると、ラクそうにみえてくるとおもいます。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
```kotlin
|
86
|
+
|
87
|
+
fun main(args: Array<String>) {
|
88
|
+
|
89
|
+
val data: List<MutableList<Int>> =
|
90
|
+
|
91
|
+
(0..3).map { i ->
|
92
|
+
|
93
|
+
(1..3).map { num -> num * i }.toMutableList()
|
94
|
+
|
95
|
+
}
|
96
|
+
|
97
|
+
println(data)
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
data.forEach { it.add(999) }
|
102
|
+
|
103
|
+
println(data)
|
104
|
+
|
105
|
+
}
|
106
|
+
|
107
|
+
```
|
1
typo
test
CHANGED
@@ -48,11 +48,7 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
|
51
|
-
`data.forEach(it -> it.add(999));`は、`data.stream().forEach(it -> it.add(999));`
|
51
|
+
`data.forEach(it -> it.add(999));`は、`data.stream().forEach(it -> it.add(999));`の短縮形|省略形だと捉えてみてはどうでしょうか?forEach()メソッドもStreamAPIの一部だ、と。ただ、forEach()メソッドの中身をみると実際の実装は違うようですけれど。
|
52
|
-
|
53
|
-
の短縮形|省略形だと捉えてみてはどうでしょうか?
|
54
|
-
|
55
|
-
forEach()メソッドの中身をみると実際の実装は違いますけれど。
|
56
52
|
|
57
53
|
|
58
54
|
|
@@ -60,11 +56,7 @@
|
|
60
56
|
|
61
57
|
|
62
58
|
|
63
|
-
問題はないとおもいます。
|
64
|
-
|
65
|
-
た
|
59
|
+
たとえば、StreamAPIを使うとparallel()を挟むだけで簡単に並列処理ができたりしますね(この程度の処理ではむしろ効率悪くなりますけど)。
|
66
|
-
|
67
|
-
(この程度の処理ではむしろ効率悪くなりますけど)。
|
68
60
|
|
69
61
|
|
70
62
|
|