回答編集履歴
1
Tupleを使う3引数のCollectors.reducing
test
CHANGED
@@ -98,6 +98,10 @@
|
|
98
98
|
|
99
99
|
|
100
100
|
|
101
|
+
**Tupple**
|
102
|
+
|
103
|
+
|
104
|
+
|
101
105
|
桁溢れする場合は専用の集計レコードを用意する必要があります。タプルが使える言語(Scala,Kotlin)なら、次と同等なタプルをクラスを定義せずに使えます。タプルの`_2`を集計に使います。
|
102
106
|
|
103
107
|
|
@@ -128,6 +132,24 @@
|
|
128
132
|
|
129
133
|
|
130
134
|
|
135
|
+
**Tuppleを使う3引数の`Collectors#reducing`**
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
```Java
|
140
|
+
|
141
|
+
Collectors.reducing(
|
142
|
+
|
143
|
+
new Tuple<Item,Long>(new Item("99-99-999", "", "", "", 0), 0l),
|
144
|
+
|
145
|
+
x -> new Tuple<>(x, (long)x.number),
|
146
|
+
|
147
|
+
(a, i) -> new Tuple<>((a._1.orderId.compareTo(i._1.orderId) > 0) ? i._1: a._1, a._2 + i._2)
|
148
|
+
|
149
|
+
)
|
150
|
+
|
151
|
+
```
|
152
|
+
|
131
153
|
|
132
154
|
|
133
155
|
**SQL の group by**
|