这个Java HashMap有什么问题?

时间:2014-08-20 23:49:57

标签: java arraylist hashmap

以下是将ArrayLists放入hashmap的代码:

public static HashMap<String, ArrayList> keyword_map = new HashMap<String, ArrayList>();

ArrayList<String> keys = new ArrayList<String>();
keys.add("cat");
keys.add("sheep");
keys.add("dog");
keys.add("pig");
keys.add("cow");
keyword_map.put("animals", keys);

当我尝试打印条目集并从密钥&#34;动物&#34;获取一个ArrayList时像这样:

ArrayList<String> related_keys = keyword_map.get("animals");

没有返回任何内容。我究竟做错了什么?

对于地图中的每个键,我想存储多个值。

我怎么能这样做/或者做错了什么?

1 个答案:

答案 0 :(得分:1)

这是正确的惯用代码,效果很好。

public static final Map<String, List<String>> MAP = new HashMap<String, List<String>>();

public static void main(@Nonnull final String[] args)
{
    final List<String> animals = new ArrayList<String>();
    animals.add("cat");
    animals.add("sheep");
    animals.add("dog");
    animals.add("pig");
    animals.add("cow");
    MAP.put("animals", animals);
    System.out.println(MAP);
    final List<String> al = MAP.get("animals");
    System.out.println(al);
}

输出

{animals=[cat, sheep, dog, pig, cow]}
[cat, sheep, dog, pig, cow]

你有什么期待?