作者:823825lml | 来源:互联网 | 2023-01-08 12:44
我正在处理以下结构.
Map>> ...
我想用内部HashMap中的值递增一个计数器.我可以通过迭代函数或嵌套循环轻松完成.但是,我正在寻找使用lambdas的优雅解决方案.
1> 4castle..:
您可以使用.values().stream()
以获取a Stream
中的值Map
.然后你可以重复申请.flatMap
,以便剥离嵌套结构,直到你得到一个Stream
.然后,您可以创建一个IntStream
使用.mapToInt
来获取.sum()
所有值.
int sum = outerMostMap.values().stream() // HashMap>
.flatMap(map -> map.values().stream()) // HashMap
.flatMap(map -> map.values().stream()) // Integer
.mapToInt(Integer::intValue) // int
.sum();