遇到了这种内联初始化 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/