Java哈希多值映射(具有多个值的键)实现

3
这里得知,Colt的OpenIntIntHashMap和Trove的TIntIntHashMap比Java内置的HashMap或Guava的HashMultimap性能更好,内存使用更高效。
Colt的OpenIntIntHashMap或Trove的TIntIntHashMap是否允许具有多个值的键,就像HashMultimap一样?如果不是,那么有什么好的方法可以实现一个HashMultimap来达到Colt或Trove的性能和内存效率呢?
注意:我已经测试了Guava的HashMultimap,但它的性能和内存效率对我来说似乎很差。
1个回答

5
Multimaps.newSetMultimap(
  TDecorators.wrap(new TIntObjectHashMap<Collection<Integer>>()),
  new Supplier<Set<Integer>>() {
    public Set<Integer> get() {
      return TDecorators.wrap(new TIntHashSet());
    }
  });

谢谢。但是,要使用这个结构,我应该做什么?也就是说,Trove有任何.jar文件吗? - Arpssss
如果你去Trove网站并进入“下载”部分,那就非常简单。 - Louis Wasserman
谢谢。实际上,我从http://sourceforge.net/projects/trove4j/files/trove/3.0.1/下载了Trove。但是,当我把trove.jar文件加入到我的类路径中时,它会出现错误,提示找不到gnu.trove.set.hash.TIntHashSet(和其他)的类。你能否帮我解决一下,怎么使用Trove。 - Arpssss
trove-3.0.1.jar 文件位于 zip 文件的 lib 文件夹中。如果将其添加到类路径中仍无法解决问题,我就无能为力了。 - Louis Wasserman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接