作者:莪乜子12 | 来源:互联网 | 2022-12-23 14:13
如果我有以下内容:
public enum Attribute {
ONE, TWO, THREE
}
private Map mAttributesMap = new HashMap<>();
mAttributesMap.put(Attribute.ONE.name(), 5);
mAttributesMap.put(Attribute.TWO.name(), 5);
那么我怎样才能得到钥匙mAttibutesMap
?以及如何增加它?
1> azro..:
1.首先你可以直接使用a Map
并put
像这样:
mAttributesMap.put(Attribute.ONE, 5);
mAttributesMap.put(Attribute.TWO, 5);
2.要增加键的值,您可以执行以下操作,获取值,put
再次使用+1
,因为key
已存在它将只替换现有键(映射中的键是唯一的):
public void incrementValueFromKey(Attribute key){
mAttributesMap.computeIfPresent(key, (k, v) -> v + 1);
}
3.要获得更通用的解决方案,您可以:
public void incrementValueFromKey(Attribute key, int increment){
mAttributesMap.computeIfPresent(key, (k, v) -> v + increment);
}