项目中使用到了这个类,在这里简单记录一下
com.google.common.collect 这个包里封装了很多集合类,比如 Multimap,那么这个类和 Map 有什么区别呢?
Guava 文档 Multimap (Guava: Google Core Libraries for Java 22.0 API)
A collection that maps keys to values, similar to Map, but in which each key may be associated with multiple values. You can visualize the contents of a multimap either as a map from keys to nonempty collections of values:
- a → 1, 2
- b → 3
… or as a single “flattened” collection of key-value pairs:
- a → 1
- a → 2
- b → 3
可以看到,Multimap 类似于 Map,但是它不是 Map,它是 “A collection that maps keys to values”,即,将 keys 映射到 values 的集合,而 Map 是 “An object that maps keys to values” 。在 Multimap 中,一个 key 可以对应多个 values。
并且在 Multimap 中,不会有任何键映射到空集合,也就是说&