java - 多值哈希图的值的“大小或零”
问题描述
我有一个多值Hashmap
(技术上是 a LinkedHashMap
):
private LinkedHashMap<String, ArrayList<BodyPart>> bodyParts = new LinkedHashMap<>();
我想找到与给定键关联的值的数量。但是,如果键不存在则bodyParts.get("sample key")
返回null
,而我希望它返回 0(因为与该键关联的值为零)。
if
我可以在声明中屏蔽它:
int numberOfValues;
if(bodyParts.containsKey("sample"){
numberOfValues = bodyParts.get("sample").size();
}
但我想知道是否有更简单/更好的方法来做到这一点?我已经阅读了文档,computeIfPresent
但说实话,并没有真正理解它。
解决方案
使用Map.getOrDefault(Object key, V defaultValue)
.
返回指定
key
映射到的值,或者defaultValue
如果此映射不包含键的映射。
推荐阅读
- scala - 未解决的依赖路径 SBT - Scala Intellij 项目
- java - Firestore 增量替换或删除字段
- reactjs - React google oauth 登录在页面刷新时出现错误
- azure - ARM 是否需要在父资源内部和父资源外部配置资源?
- android - 如何避免向系统文件夹选择器请求权限?
- android - Flutter 无法从资产中加载文本
- javascript - 如何为图形数据构建 JSON-LD
- mysql - 使用 mysql 我需要将 html 代码添加到带有链接的字段中
- javascript - Function.prototype.bind 避免内存泄漏?
- git - 为什么`git update-ref -d`不删除空的父目录?