回答編集履歴

1

Tupleを使う3引数のCollectors.reducing

2021/09/11 12:17

投稿

xebme
xebme

スコア1081

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**