Java 修改map的value值问题

不可以直接取出map.values()中的value进行修改吗

Map m = new HashMap();
m.put("jack",650); 
for(Object i:m.values()){
            i = (Integer) i + 100;
        }

为什么上述代码不会修改650->750呢

你只是把map的值取出来,然后+100,怎么会改map里边的值呢,改完之后可以把变量再放进去达到修改的效果

 Map m = new HashMap();
        m.put("jack",650);
        for(Object i:m.values()){
            i = (Integer) i + 100;
            m.put("jack",i);
        }