是否有任何方法可以在符合条件的情况下为键添加值(或更改键的值)?
我的意思是,像:
myHashMap.add(key, if(true){//add this value} else {//add a different value});
答案 0 :(得分:4)
是的,请使用if-else
:
if (condition){
myHashMap.put(key, value);
} else {
myHashMap.put(key, otherValue);
}
如果您坚持使用三元运算符(请参阅Oracle tutorial,条件运算符部分):
myHashMap.put(key, condition ? value : otherValue);
答案 1 :(得分:1)
不完全是,您必须执行以下操作:
// Assuming a boolean value is returned
if (myHashMap.get(key)) {
myHashMap.put(key, value);
} else {
myHashMap.put(key, differentValue);
}
答案 2 :(得分:1)
为了解决Reut的问题,如果您想要对地图中已有的值进行操作,那么从Java 8开始就有Map#compute:
Map<String, String> example = new HashMap<>();
//pretending we have values...
example.compute("My Key", (key, oldValue) -> oldValue == null ? "New" : "Read");