Java - 更新 HashMap 值的最佳方式 - 通过值/引用相关传递

Fit*_*123 6 java collections hashmap pass-by-reference pass-by-value

我有一个包含一些数据的 HashMap。看看下面的代码...

HashMap<String, Double[]> map; //Already populated with data

Double[] results = map.get(key);
updateArray(results); //This function makes changes to the results array.
map.put(key, results);
Run Code Online (Sandbox Code Playgroud)

...我的问题是 map.put(key, results) 是否有必要?

我对 Java 的按值传递和按引用传递的性质仍然有点困惑。需要明确的是,在第一行代码中,我们获得了对 Double 数组的引用,对吗?因此,第二行的函数应该正确更新 HashMap 中的 Double 数组...这似乎会使第三行的 map.put() 变得多余。

看别人的HashMap相关代码,他们似乎总是在使用put()方法。我只是想确保在没有 put() 方法的情况下执行此操作不会产生任何不可预见的后果。

感谢您的任何意见!

Sot*_*lis 3

如果您要修改从 中检索的引用值所引用的对象HashMap,则没有必要在同一 中替换其条目HashMap

如果您要修改引用,那么您确实需要替换它。