java - 如何在java 8中对出现的元素计数求和
问题描述
我想在 java 8 中找到出现元素总和,并使用下面的技术我得到所有元素总和,但我只想找到 itemType=EQUIPMENT 元素总和
有人能帮助我吗
double sum = itemList.stream().mapToDouble(a -> a.getQuantity())
.sum();
[
{
"itemType": "EQUIPMENT",
"quantity": 6
},
{
"itemType": "DTVN",
"quantity": 2
},
{
"itemType": "EQUIPMENT",
"quantity": 1
}
]
解决方案
equals
您可以使用或equalsIgnoreCase
基于您想要的过滤特定的 itemType
double sum = itemList.stream()
.filter(type->"EQUIPMENT".equals(type.getItemType()))
.mapToDouble(a -> a.getQuantity())
.sum();
推荐阅读
- javascript - JavaScript 与 Python 表情符号长度
- nginx-reverse-proxy - nginx:在上游“nlb-url>在一个环境中找不到[emerg]主机
- php - 如何在 Dotproject 中创建自定义模块
- javascript - 如何开玩笑测试这个帖子请求?
- python - 当 matplotlib 嵌入 tkinter 时,.gca() 和 .gcf() 函数不起作用
- prolog - Prolog:重定向系统输出
- reactjs - ReactJS app authentication and authorization with Azure AD with OpenID connect
- python - 使用 rioxarray 将栅格相乘时栅格格式错误
- react-native - FLatlist 完全不渲染
- django - Django - 如何仅通过外键检索对象?