java - 将 'new'放入put方法中,还是使用中间变量,效率更高吗?

标签 java data-structures hashmap

以下哪种添加到 HashMap 的方式更高效(同时考虑时间和空间效率)?

方式一:

Music foo = new Music(Files.getMusic("bar/bold.mp3"));
HashMap.put("rock", foo);

方式2:

HashMap.put("rock", new Music(Files.getMusic("bar/bold.mp3")));

最佳答案

两者完全相同。运行时

new Music(Files.getMusic("bar/bold.mp3"));

您在内存中创建一个对象,并返回对其的引用。无论您在将引用传递给 HashMap 之前是否将该引用临时存储在 foo 中,都不会产生真正的影响(即使会,这也会被优化掉) .

关于java - 将 'new'放入put方法中,还是使用中间变量,效率更高吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21816681/

相关文章:

java - System.arraycopy 性能

java - 将新行放入 mysql 表时放入 Response.created 的 URI

android - Kotlin 中的 Swift 等效数据结构

memory - ds_map 会破坏子 map 吗?

java - 如何按照插入 HashMap 的顺序打印 HashMap 值

c++ - unordered_map 的有序版本?

java - HashMap - 搜索对象的值并添加到列表

java - 在 WebSphere Application Server 8.5 中禁用 JAX-WS 客户端的分块传输编码

java - 带有 ImageIcon 的 Eclipse 项目

c++ - 如何使用 void `null` 或 `empty` 类元素扩展 C++ 结构/类