开源的高性能Java集合:GNU Trove
jopen
11年前
Trove 是一种开放源代码的 Java 集合包,提供了核心 Java 集合类的高效替代品,特别针对于实现其键或值是基本类型的集合。
从 Trove 中得到什么呢?许许多多的高效集合。除了那 81 种不同的 HashMap
版本之外(比如 TIntIntHashMap
、 TIntObjectHashMap
等),还有 List
和 Set
类可以存储基本类型(如 TIntHashSet
、 TFloatArrayList
等)。这种体系结构甚至允许您插入自己的散列策略,以便选择对您的数据集而言可能更有效(或者更灵活)的算法。当然,支持灵活的散列算法也要付出性能代价 —— 如果散列映射成为瓶颈,很可能是因为大量地使用它,这意味着散列函数被反复不断地调用。因此,散列函数中每一点多余的开销都可能成为瓶颈。(顺便说一下,如果散列函数足够简单,JIT 编译器就可能将其编译成内联函数,这样在支持灵活的散列策略的同时又不会带来额外的开销)