多映射迭代器在Java中检索多个值

多映射迭代器在Java中检索多个值,java,iterator,multimap,Java,Iterator,Multimap,是否有一种方法可以访问每个值,以便在迭代时将其分配给Apache commons中java多值映射中的变量?我有一个键和两个可能的值,我希望提取每个迭代,然后将其写入表中 当前,下面的代码为pair.getValue()生成两个值 为了清晰起见,我对其进行了编辑,下面的建议有助于使用Collection values=map.getCollection(id) 如果我理解您的问题,您希望获得所有键的值列表: Iterator it = map.keySet().iterator();

是否有一种方法可以访问每个值,以便在迭代时将其分配给Apache commons中java多值映射中的变量?我有一个键和两个可能的值,我希望提取每个迭代,然后将其写入表中

当前,下面的代码为pair.getValue()生成两个值


为了清晰起见,我对其进行了编辑,下面的建议有助于使用Collection values=map.getCollection(id)

如果我理解您的问题,您希望获得所有键的值列表:

    Iterator it = map.keySet().iterator();
    while (it.hasNext())
    {
        String id = (String)it.next();
        Collection<?> values = map.getCollection(id);
        // loop on values and do whatever you need ...
    }
Iterator it=map.keySet().Iterator();
while(it.hasNext())
{
String id=(String)it.next();
集合值=map.getCollection(id);
//在值上循环并执行您需要的任何操作。。。
}

否我需要访问与键相关的每个值,一个是代码,另一个是与代码相关的较长字符串。理想情况下,我希望下一行是String x=pair.getValue.toString(),这样我就可以将id、name和x插入到xml映射器的表中。您可以使用我提供的代码访问每个值。多值映射用一个键关联一组值
pair.getValue
为您提供一个集合,对该集合执行
toString()
会将其合并为一个字符串。我们正在谈论Apache commons集合中的多值映射,对吗?啊,是的,我一定误解了
    Iterator it = map.keySet().iterator();
    while (it.hasNext())
    {
        String id = (String)it.next();
        Collection<?> values = map.getCollection(id);
        // loop on values and do whatever you need ...
    }