java - 如何将 NavigableMap 功能与 Guava 的 Multimap(使用 asMap())一起使用?

标签 java collections guava multimap

假设我有这样的东西:

Multimap<Integer, Integer> data = TreeMultimap.create();

我如何使用.headMap()在我的数据上?我想,TreeMultimap.asMap()这是要走的路。

文档 ( link ) 说 TreeMap.asMap()返回NavigableMap<K,Collection<V>> ,但我无法让它发挥作用。

NavigableMap<Integer, ArrayList<Integer>> test = data.asMap(); // type mismatch
SortedMap<Integer, ArrayList<Integer>> test = data.asMap(); // type mismatch

我做错了什么?

谢谢!

PS:我使用的是 Guava 16

最佳答案

data的类型是 Multimap ,不是TreeMultimap 。另外,一个NavigableMap<Integer, Collection<Integer>> ,与 NavigableMap<Integer, ArrayList<Integer>> 不兼容.

将代码更改为:

TreeMultimap<Integer, Integer> data = TreeMultimap.create();
NavigableMap<Integer, Collection<Integer>> test = data.asMap();

关于java - 如何将 NavigableMap 功能与 Guava 的 Multimap(使用 asMap())一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22719952/

相关文章:

java - 单元测试的包装类

java - 带有 iterator.next 的空指针

java - 如何为可选参数创建哈希码和等于

java - 下载部分 Guava 库

macos - 在 Mac OSX 上升级 JDK

java - Selenium Webdriver -dragAndDrop 在 Firefox 32 中不起作用

Java:创建了多少个对象?数组作为成员变量

collections - Spring mvc,如何绑定(bind)具有集合作为其属性的域对象

java - 数组唯一元素和移动应用程序数据结构

java - 迭代 Guava Cache 中的值会丢失数据