java改变hashmap的值

标签 java hashmap

我有一个简单的问题,我在这里想做的是,从 HashMap 中获取 Student 并在 Student 的标记上添加一个双标记。

假设我有一个名为 Student 的类,并且 Student 类具有名为 addToMark() 的方法和名为 theStudent = new HashMap<String, Student> 的 Hashmap 。

public void addExtraMark(String studentNumber, double mark) {
    if(stuentNumber != null && mark >= 0) {
        Student extraMark = theStudent.get(studentNumber);
        extraMark.addToMark(mark)};
    }
}

我的问题是,mark 是否会添加到 hashmap 中?自动地?或者我必须使用

theStudent.put(studentNumber, extraMark);

在我的代码的底部?

最佳答案

由于 Student extraMark 是对该 Student 的引用,因此您对该引用所做的任何操作都将反射(reflect)在 HashMap 中。

不,您不必调用电话:

theStudent.put(studentNumber, extraMark);

关于java改变hashmap的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37267413/

相关文章:

java - log4j2 每月日志滚动

java - 对 HashMap 中的值进行排序

java - 根据键返回列表过滤HashMap

java - 在 Collection View 中迭代 HashMap

Java HashMap、hashCode() equals()——如何实现多个key一致?

java - 如何将数据传回父 Activity

java - Tomcat8 ClassNotFoundException 基本数据源工厂

java - 为什么 FileChannel 读取永远不会结束?

java - 无法访问 0 以外的索引

java - 是否有一张 map 可以为我提供双向散列?