出于性能原因,我正在将一些代码迁移到 GNU trove。
但是,我确实有一些 TreeSet,我需要相当快速的更新和查找以及排序迭代 - TreeSet 的主要用例。当然,我会检查使用情况并检查是否可以使用 HashSet 一样好。
什么是 GNU Trove 中用于 SortedSet 的合适替代品?
谢谢你。
出于性能原因,我正在将一些代码迁移到 GNU trove。
但是,我确实有一些 TreeSet,我需要相当快速的更新和查找以及排序迭代 - TreeSet 的主要用例。当然,我会检查使用情况并检查是否可以使用 HashSet 一样好。
什么是 GNU Trove 中用于 SortedSet 的合适替代品?
谢谢你。
更新:我在 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
在每次更新后调用应该会给您带来令人惊讶的出色性能!