Guava Multimap包含条目问题

Chr*_*tes 2 java collections multimap guava

下面我有一些代码,它们为第一个multimap添加两个条目,为第二个multimap添加一个条目,然后比较两者.由于键是相同的"Dec"(参见输出),为什么它输出错误?

输入

    Multimap<String, String> first = ArrayListMultimap.create();
    Multimap<String, String> second = ArrayListMultimap.create();
    first.put("Dec", "18");
    first.put("Dec", "12");
    second.put("Dec", "18");
    for (String key : second.keys()) {
            System.out.println(first.get(key));
        System.out.println(second.get(key));
        System.out.println(first.containsEntry(key, second.get(key)));
    }
Run Code Online (Sandbox Code Playgroud)

产量

    [18, 12]
    [18]
    false
Run Code Online (Sandbox Code Playgroud)

编辑:对于那些不理解下面的答案的人,second.get(key)将返回一个字符串集合(虽然只有一个),当然还有一个字符串集合=/= string

Jon*_*eet 6

您正在寻找一个条目,其键值"Dec"为"仅包含该集合"18"".该条目不会在任何存在firstsecond.

现在,如果您使用:

System.out.println(first.containsEntry("Dec", "18"));
Run Code Online (Sandbox Code Playgroud)

然后我希望打印出来true.基本上,您需要区分单个条目值和"与键关联的条目值集合".