Guava Multimap 到 HashMap

Guava Mutlimap to HashMap

是否可以通过任何方式将 Multimap 转换为 HashMap。我知道我们可以将 multimap 转换为 map,但我想将 multimap 转换为 hashmap。我认为这是不可能的,但如果有任何解决办法,请告诉我。

is it possible in any way to cast Multimap to HashMap.

不,您不能将 Multimap cast 转换为 HashMap,因为 - 正如名称所示 - 它们是不同的东西,即 Multimap 用于映射多个值到一个键,而Map意味着将一个值映射到一个键。因此,将 Multimap<K, V> 转换为 Map 总是会产生类似 Map<K, Collection<V>> 的结果(或者,取决于实际的 Multimap 实现并通过使用其他方法 Map<K, List<V>>等)。

I know we can convert multimap to map, but i want to convert multimap to hashmap.

您可能指的是 asMap() 方法,其中 returns 是 Map<K, Collection<V>>。这些可能不是 HashMap 的实例,但您可以通过调用 Maps.newHashMap( multimap.asMap() ) 轻松创建一个,它基本上采用生成的映射并将值(引用)复制到新的 HashMap.