Java:HashMap 内联初始化的性能影响

标签 java performance hashmap jvm initialization

遇到了这种内联初始化 Java map 的特殊方式。

以下代码似乎使用匿名类扩展 Hashmap 类,然后使用(非静态)初始化程序 block 。

Map<String, String> aMap = new HashMap<String, String>()
{{
   put("gloves", "hand");
   put("hat", "head");
   put("shoes", "feet");
   put("scarf", "neck");
}};

使用上述代码内联初始化 HashMap 对性能有何影响?

我还没有看到这个被经常使用。 这被认为是一个好的java实践吗?

最佳答案

@davison 这个问题已经在 SO 上讨论过很多次了。 即使数据结构不一样(Set,HashSet)而不是(Map,HashMap)我个人认为以下是最好的讨论,应该澄清你所有的疑虑: Efficiency of Java "Double Brace Initialization"?

关于Java:HashMap 内联初始化的性能影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122029/

相关文章:

java - 通过Java查找嵌套组中的LDAP用户

java - Array 和 ArrayList 获取素数有什么区别?

java - 使 @PostConstruct 仅对 StateLess EJB 的第一个实例执行

Java 流 - 将列表排序为列表的 HashMap

java - 高效的 hashCode() 实现

java - @org.testng.annotations.Test 和 @org.junit.Test 问题

reactjs - 如何在 React Native 中加快应用程序启动时间

Mysql性能: 1 query over 3 tables or 2 queries?

javascript - Javascript 对象中的跨浏览器键查找性能

java - 如何处理 HashMap 中相同的键?