Bimap提供了一种的新的集合类型,它提供了key和Value的双向关联的数据结构。
底层维护着两个map
什么意思呢,传统上,我们键值对的双向映射需要维护两个单独的map,并保持它们间的同步。但这种方法很容易出现,而且对于值存在map中的情况,会变得非常混乱。例如:
BiMap<K,V>是种特殊的Map:
1 | V forcePut(K key, V value) 另一种put的形式是默默删除,在put(K, V)运行前的任何现有条目值值。 |
2 | BiMap<V,K> inverse() 返回此bimap,每一个bimap的值映射到其相关联的键的逆视图。 |
3 | V put(K key, V value) 关联指定值与此映射中(可选操作)指定的键。 |
4 | void putAll(Map<? extends K,? extends V> map) 将所有从指定映射此映射(可选操作)的映射。 |
5 | Set<V> values() 返回此映射中包含Collection的值视图。 |