java - 使用 put() 方法创建 Map

标签 java

我正在尝试在 <K, List<V>> 中创建字典格式。

private static Map<String, Collection<String>> dict = new HashMap<String, Collection<String>>();

使用new HashMap<>();new HashMap<String, ArrayList<String>>();抛出不兼容的数据类型错误

我需要一本类似于下面的字典。

a: apple, ajar, axe, azure
b: ball, bat, box
d: dam, door, dish, drown, deer, dare
u: urn, umbrella
y: yolk

为此,我编写了以下代码。 put() 返回不兼容的参数编译错误。在本例中使用 put() 的正确方法是什么?

dict.put("a", "apple");
dict.put("a", "ajar");
.
.
.
dict.put("u", "umbrella");
dict.put("y", "yolk");

最佳答案

您需要放置一个列表作为 map 的值,例如:

List<String> listA = Arrays.asList("apple", "ajar", "axe", "azure");
dict.put("a", listA);

或者,您可以使用 guava Multimap它允许将多个值映射到给定的键。

关于java - 使用 put() 方法创建 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17836884/

相关文章:

java - 如何在java中结束inputstream.read

java - 想从 java.sql.ResultSet 扩展

部分数组的java for-each循环

java - DeltaSpike 测试控制 - 未找到持久性单元

java - Thymeleaf:使用#dates.format() 函数来格式化具有国际化的日期。

java - Spring集成中的分组和忽略消息

java - 尝试resttemplate getforobject时出现404错误

java - 循环 i 和 j,其中 i != j

java - java可以检测Windows 7通知吗

java - 在JAVA中有效播放.wav文件