如果我有以下内容:
public enum Attribute {
ONE, TWO, THREE
}
private Map<String, Integer> mAttributesMap = new HashMap<>();
mAttributesMap.put(Attribute.ONE.name(), 5);
mAttributesMap.put(Attribute.TWO.name(), 5);
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能得到钥匙mAttibutesMap?以及如何增加它?
1.首先你可以直接使用a Map<Attribute , Integer>并put像这样:
mAttributesMap.put(Attribute.ONE, 5);
mAttributesMap.put(Attribute.TWO, 5);
Run Code Online (Sandbox Code Playgroud)
2.要增加键的值,您可以执行以下操作,获取值,put再次使用+1,因为key已存在它将只替换现有键(映射中的键是唯一的):
public void incrementValueFromKey(Attribute key){
mAttributesMap.computeIfPresent(key, (k, v) -> v + 1);
}
Run Code Online (Sandbox Code Playgroud)
3.要获得更通用的解决方案,您可以:
public void incrementValueFromKey(Attribute key, int increment){
mAttributesMap.computeIfPresent(key, (k, v) -> v + increment);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1571 次 |
| 最近记录: |