java - 检索 Multimap 中的特定值

标签 java guava

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

第一段代码获取第一个对象值:

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

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

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

这似乎是一种“hackish”的做事方式,那么我有什么方法可以更轻松地获取这些值吗?

最佳答案

如果您使用 Guava,Iterables#get 可能就是您想要的 - 它返回任何可迭代的第 N 个项目,例如:

Multimap<String, String> myMultimap = ArrayListMultimap.create();

// and to return value from position:
return Iterables.get(myMultimap.get(key), position);

如果您使用的是ListMultimap,那么它的行为非常类似于列表的映射,因此您可以直接调用get(n)

关于java - 检索 Multimap 中的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11852535/

相关文章:

java - 如何包装 java.util.Iterator 以更改被迭代对象的类型

java - 静态函数调用之前的泛型尖括号

java - 如何在 JPanel 类中添加热键 Enter?

java - bean初始化时如何调用数据源?

java - 如何从代码完成中隐藏所有 java.lang.Object 方法?

java - 是零还是负数?

java - TreeMultimap 不允许 null 或空值?

java - Guava 表 : how to iterate over columns when height and width is not known and table is sparse

java - 为什么我们要在 Hibernate 配置或映射文件中写入 &lt;!DOCTYPE> 标记

java xml解析大文件和数据库关系