小编典典

检索Multimap中的特定值

java

我正在使用一个每个键有两个值的Multimap。下面是我用来分别获取每个值的代码:

代码的第一位获取第一个对象值:

for(Object object : map.get(object))
{
    return object
}

然后,我正在使用另一种方法来检索其他值。此方法将第一个对象作为参数:

for(Object object : team.get(object))
{
    if(object != initialObject)
    {
        return object;
    }
}

这似乎是一种“骇人的”做事方式,那么我有什么办法可以更轻松地获得价值?


阅读 230

收藏
2020-11-26

共1个答案

小编典典

Collection<Object> values = map.get(key);
checkState(values.size() == 2, String.format("Found %d values for key %s", values.size(), key));

return values.iterator().next(); // to get the first

Iterator<Object> it = values.iterator();
it.next(); // move the pointer to the second object
return it.next(); // get the second object
2020-11-26