4

出于性能原因,我正在将一些代码迁移到 GNU trove。

但是,我确实有一些 TreeSet,我需要相当快速的更新和查找以及排序迭代 - TreeSet 的主要用例。当然,我会检查使用情况并检查是否可以使用 HashSet 一样好。

什么是 GNU Trove 中用于 SortedSet 的合适替代品?

谢谢你。

4

1 回答 1

2

更新:我在 Sourceforge 的 Trove 中找到了一个相关的功能请求:http: //sourceforge.net/tracker/index.php ?func=detail&aid=1631704&group_id=39235&atid=424685

到目前为止似乎还没有 SortedSet,Trove 的好处在这里似乎不那么大:它会为原始类型节省一些内存(并避免装箱),但数据的算法组织可能是相同的,它仍然需要入口对象。

更新#2:

对于许多用例 - 根据您的写入访问模式 - 您应该能够通过仅使用 aTIntArrayList并使用binarySearch查找方法(假设要对数组进行排序!)

插入排序数组是 O(n),因此当您对数组执行大量修改并在每次修改后进行查询时,这不是一个选项。但是,如果您的更改是批量添加,那么sort在每次更新后调用应该会给您带来令人惊讶的出色性能!

于 2011-12-27T10:36:56.547 回答