BiMap的 google Guava工程 中的 扩展的map
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
介绍BiMap
- BiMap 也是基本的 map 集合结构, 由key value 构成.
- 区别于 Map 是双向关联结构,
- 可以通过 key 查询 value, 也可以 通过 value 查询 key;
- 因此, 这种集合 不允许 value 重复, 否则会抛出异常
IllegalArgumentException: value already present: value - key 和 value 都允许为空 null ;
常用的方法
BiMap.create()
- 创建一个 长度 为16 的集合;
BiMap biMap = HashBiMap.create();
inverse() 翻转方法
- 翻转 map 集合 key value 数据;
- 翻转返回的是一个新的视图, 当修改的时候 会修改 会相关影响;
BiMap biMap = HashBiMap.create();
biMap.put("a", "1");
biMap.put("b", "2");
// {a=1, b=2}
BiMap inverse = biMap.inverse();
// {1=a, 2=a}
inverse.put("2", "c");
// {a=1, c=2}
// {1=a, 2=c}
forcePut() 重复的value 覆盖
- 当使用 put 方法 重复的value 的时候, 会报错;
- 使用 forcePut() 方法可以 覆盖 相同 value 的key
BiMap biMap = HashBiMap.create();
biMap.put("a", "1");
biMap.put("b", "2");
// {a=1, b=2}
biMap.forcePut("c", "2");
// {a=1, c=2}
values() 获得 value 的set 集合
BiMap biMap = HashBiMap.create();
biMap.put("a", "1");
biMap.put("b", "2");
biMap.put("", null);
Set values = biMap.values()
System.out.println(values);
//[1, 2, null]
版权声明:本文为qq_36209121原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。