首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中使用番石榴BiMap

在Java中使用番石榴BiMap
EN

Stack Overflow用户
提问于 2018-07-05 12:53:24
回答 1查看 375关注 0票数 0

这是我第一次使用这个图书馆。

为了解释我的问题,让我们以这个小例子为例:

代码语言:javascript
复制
package javaapplication7;


import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;


public class JavaApplication7 {
public static void main(String[] args) {
    BiMap<Integer, Integer> biMap = HashBiMap.create();

    biMap.put(0, 0);
    biMap.put(2, 1);
    biMap.inverse().put(1,3);

    System.out.println(biMap.get(0));
    System.out.println(biMap.get(2));
    System.out.println(biMap.inverse().get(1));

    }

}

该方案的结果是:

0 空 3.

通常,对于第二次打印,我应该得到1,有人能向我解释为什么我得到一个空值吗?

在我的程序中,我应该在没有特定顺序的情况下在地图上放一些整数,我怎么能做到呢?

对于前面的示例,我希望得到0 1 3结果。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-05 12:59:56

通过将一个密钥 1插入到反向 bimap视图中,您实际上覆盖了之前映射的 1 (即在“普通”biMap中不再有键2,但是在3下有值1)。只需查看每次操作后biMap发生了什么:

代码语言:javascript
复制
biMap.put(0, 0);
System.out.println(biMap); // {0=0}
biMap.put(2, 1);
System.out.println(biMap); // {0=0, 2=1}
final Integer previousValue = biMap.inverse().put(1, 3);
System.out.println(biMap); // {0=0, 3=1}
System.out.println(previousValue); // 2
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51191837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档