stream 统计group by java代码怎么写
在 Java 8 中可以使用 Stream API 来实现类似于 SQL 中的 Group by 操作。
示例代码:
List<Transaction> transactions = ...;
Map<Currency, List<Transaction>> transactionsByCurrency =
transactions.stream()
.collect(Collectors.groupingBy(Transaction::getCurrency));
上面的代码将交易按货币类型分组,结果保存在一个 Map 中,其中键是货币类型,值是该类型的交易列表。
如果想要计算每个货币类型的交易数量,可以这样写:
Map<Currency, Long> transactionCountByCurrency =
transactions.stream()
.collect(Collectors.groupingBy(Transaction::getCurrency, Collectors.counting()));
这里只是给出了一个简单的例子, 实际使用中根据业务需求可能需要更加复杂的处理。