首页 >Java >java教程 >如何在Java中高效地初始化HashMap?

如何在Java中高效地初始化HashMap?

Susan Sarandon
Susan Sarandon原创
2024-12-17 20:18:11942浏览

How to Efficiently Initialize a HashMap in Java?

如何直接简洁地初始化 HashMap

许多 Java 开发人员都希望有一种简单的方法来使用键值对初始化 HashMap。不幸的是,Java 的标准库缺乏直接适应这种情况的语法。

Java 版本 9 及更高版本

但是,对于 Java 9 及更高版本,有个好消息!引入了新的工厂方法来简化地图创建:

  • Map.of:接受最多 10 个键值对,格式为 Map.of("key1", “值1”,“键2”,“值2”,...)
  • Map.ofEntries:使用 Map.ofEntries(entry("key1", "value1"), entry("key2", "value2"), ...) 处理任意数量的条目

示例:

// Using Map.of for up to 10 elements
Map<String, String> test1 = Map.of("a", "b", "c", "d");

// Using Map.ofEntries for any number of elements
Map<String, String> test2 = Map.ofEntries(entry("a", "b"), entry("c", "d"));

Java 版本 8 及以下

对于早期的 Java版本,您需要手动添加每个元素。这是使用匿名子类初始值设定项的稍微简洁的选项:

示例:

Map<String, String> myMap = new HashMap<>() {{
    put("a", "b");
    put("c", "d");
}};

注意:

  • 这种方法创建了一个额外的类,可能会影响内存和性能。
  • 它可能保存对创建对象的引用,从而防止垃圾回收。

涉及函数的替代方案:

示例:

Map<String, String> myMap = createMap();

private static Map<String, String> createMap() {
    Map<String,String> myMap = new HashMap<>();
    myMap.put("a", "b");
    myMap.put("c", "d");
    return myMap;
}

以上是如何在Java中高效地初始化HashMap?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn