首页 >Java >java教程 >如何直接初始化Java HashMap?

如何直接初始化Java HashMap?

Barbara Streisand
Barbara Streisand原创
2024-12-13 05:27:16971浏览

How to Initialize a Java HashMap Directly?

如何直接初始化一个HashMap(按字面意思)?

问题:
是否可以初始化一个Java HashMap像这样简洁的方式吗?

Map<String,String> test = 
    new HashMap<String, String>{"test":"test","test":"test"};

如果是这样,正确的是什么语法?

Java 版本 9 或更高版本的答案:

是的,现在可以使用 Java 9 中添加的工厂方法:

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

// For any number of elements
import static java.util.Map.entry;
Map<String, String> test2 = Map.ofEntries(entry("a", "b"), entry("c", "d"));

最高Java版本的答案8:

不幸的是,无法使用提供的语法直接初始化。但是,您可以使用匿名子类来缩短代码:

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

或者,您可以创建一个初始化函数:

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

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

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

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