问题:
是否可以初始化一个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中文网其他相关文章!