我有 2 个相同类型的列表说
class Orders {
Strig User;
String tradeDate;
BigDecimal Qty;
}
比较后,我想转换为另一个对象的列表说
class DiffOrders {
String User;
String tradeDate;
BigDecimal currentQty;
BigDecimal prevQty;
}
我有两个订单列表
List<Orders>currentOrders;
List<Orders>prevOrders;
List<Orders> DiffOrders = current.stream()
.filter(curr->previous.stream().anyMatch(prev->OrderPredicate.orderDiffSize(curr, prev)))
.collect(Collectors.toList());
对于同一日期和同一用户的订单,我想捕获匹配订单中的数量。
我能够找到List<Orders>匹配的。但不确定如何捕获并转换为List<DiffOrders>新类的。能否请你帮忙?
编辑 1:OrderPredicate.orderDiffSize 是一个简单的函数,用于比较当前和先前订单的用户、交易日期、数量和符号(+ 代表卖出,- 代表买入)。为简洁起见,此处未提供。
编辑 2:上一个/当前列表的大小是合理的,可以忽略 o log n 计算问题。
编辑 3:删除方向以保持简单。例如,我分别在 01-Jul、02-Jul、03-Jul 的 prevOrders 和 CurrentOrders 中有订单。如果同一日期的订单数量不同,我想将其放入 DiffOrders 中,其中包含当前和之前的数量。希望这能说明问题。
森栏
12345678_0001
人到中年有点甜
相关分类