【问题标题】:How to populate java map on creation [duplicate]如何在创建时填充java地图[重复]
【发布时间】:2019-10-16 09:35:39
【问题描述】:

有没有一种简单方便的方法来创建预填充的 java 地图?

例如可以使用 Arrays.asList("A", "B", "C") 从数组轻松创建新列表,但没有像 Arrays.toMap({"key1", "value1"}, {"key2", "value2"}, ...)

这样的方法

如果JDK中没有这样的方法,是否有我可以使用的实用程序库?

谢谢!

【问题讨论】:

  • 从 Java 9 开始,您可以通过 Map.of(k1,v1,k2,v2,...)Map.ofEntries(Map.entry(k1,v1),Map.entry(k2,v2),..) 等 Map 接口中的静态工厂方法创建不可变映射。如果您需要可变地图,您可以使用所选地图的复制构造函数,例如 new HashMal<>(Map.of(...))
  • @Pshemo 感谢您的回答,这正是我所需要的。此问题应根据您的建议更新stackoverflow.com/questions/7345241/builder-for-hashmap

标签: java dictionary hashmap builder


【解决方案1】:

您可以使用Map<String, String> map = Map.of(key1, value1, key2, value2) 为最容易使用的方式。

Map<String, String>只是一个例子,你可以使用你想要的类型)

请注意,这会创建不可变映射。

对于可变映射,您可以将此映射传递给HashMap

Map<String, String> map = new HashMap<String, String>(
    Map.of(...)
);

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 2015-09-12
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2014-03-21
    • 2020-10-07
    相关资源
    最近更新 更多