java:将hashmap值更改为另一个值

时间:2014-03-26 06:37:33

标签: java map hashmap

我有这样的地图。

HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("sun",0);
map.put("Sunday",0);
map.put("sund",0);
map.put("Mon", 1);
map.put("Tues", 2);
map.put("Wed", 3);

我想将值为0的条目更改为新值7.ie,如下所示:

map.put("sun",7);
map.put("Sunday",7);
map.put("sund",7);

我怎么能这样做? 感谢

6 个答案:

答案 0 :(得分:2)

试试这个

    for(Entry<String, Integer> e : map.entrySet()) {
        if (e.getValue() == 0) {
            e.setValue(0);
        }
    }

答案 1 :(得分:1)

使用此代码,可以帮助您:

if (hashMap1.containsKey(key))
{
   valuesCopy = hashMap1.get(key); // first, copy out the existing values
   valuesCopy.add(newValues++); // insert the newValues to the value Set
   hashMap1.put(key, valuesCopy); // insert the key-value pairs
}

答案 2 :(得分:1)

您可以通过以下方式执行此操作:

 for(Map.Entry<String, Integer> e: map.entrySet()){
        if(0 == (e.getValue())) {
            e.setValue(7);
        }
    }

答案 3 :(得分:1)

for(Entry<String,Integer> entry : map.entrySet()) {
     if(e.getValue() == 0) {
         e.setValue(7);
     }
}

它应该有用。

答案 4 :(得分:0)

Set<String> keyValues = map.keySet();

for(String s : keyValues){
   int i = map.get(s);
   if(i == 0)
    {
      map.put(s,7);
     }
}

答案 5 :(得分:-1)

试试这个 礼貌:http://www.fluffycat.com/Java/HashMaps/

改变HashMap中的内容的HashMap方法

Object objectReplacedForKey = 
  hashMapName.put(objectKey, objectToAdd); 

hashMapName.putAll(mapToAdd); 
hashMapName.remove(keyObject);  
hashMapName.clear();