【问题标题】:Java Hash Multi Map (key with multiple values) ImplementationJava Hash Multi Map(具有多个值的键)实现
【发布时间】:2012-04-20 19:38:16
【问题描述】:

here,我发现Colt 的OpenIntIntHashMap 和Trove 的TIntIntHashMap 比Java 内置的HashMap 或Guava 的HashMultimap 提供更好的性能和内存使用。

Colt 的OpenIntIntHashMap 或Trove 的TIntIntHashMap 是否允许具有多个值的键,就像HashMultimap 一样?如果不是,有什么好的方法来实现 HashMultimap 可以达到 Colt 或 Trove 的性能和内存效率?

注意:我已经测试过 Guava 的 HashMultimap,但它的性能和内存效率对我来说似乎很差。

【问题讨论】:

    标签: java hashmap guava colt trove4j


    【解决方案1】:
    Multimaps.newSetMultimap(
      TDecorators.wrap(new TIntObjectHashMap<Collection<Integer>>()),
      new Supplier<Set<Integer>>() {
        public Set<Integer> get() {
          return TDecorators.wrap(new TIntHashSet());
        }
      });
    

    【讨论】:

    • 谢谢。但是,对于使用这种结构,我该怎么办?意思是,它是trove有任何.jar文件? span>
    • 如果你去Trove网站并转到“下载”部分,它非常简单。 span>
    • 谢谢。实际上,我从@ 987654321下载trove @。但是,当我在Class路径中添加Troove.jar文件时,它会发现GNU.Trove.set.hash.tinthashset(和其他)给出错误。你能帮助我,如何使用木质。 span>
    • trove-3.0.1.jar文件位于lib文件夹文件中。如果将其添加到ClassPath没有帮助,我无法帮助您。 span>
    猜你喜欢
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多