- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
出于性能原因,我正在将一些代码迁移到 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:
对于许多用例 - 取决于您的写入访问模式 - 您应该能够通过使用 TIntArrayList
并使用 binarySearch
方法获得不错的性能查找(假定数组已排序!)
插入排序数组的时间复杂度为 O(n),因此当您对数组执行大量修改并在每次修改后进行查询时,这不是一个选项。但是,如果您的更改是批量添加,则只需在每次更新后调用 sort
即可获得令人惊讶的良好性能!
关于java - 带有 GNU trove 的整数排序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8231333/
我在设置现有 Maven 项目的新计算机上遇到严重问题。 Eclipse 多次提示缺少 Artifact : Missing artifact junit:junit:jar:4.8.2:test M
我正在尝试下载 gnu.trove 库,我有这个依赖项: gnu.trove trove 3.0.3 但我收到此错误: Could not find artifact g
我在 java 项目中使用 trove 3.0.3 库。gnu.trove.queue (TByteQueue, TDoubleQueue ...) 中的所有类都是接口(interface)。在哪里可
GNU trove 库是线程安全的吗?我对 TObjectDoubleHashMap 特别感兴趣。我查看了他们的文档,但没有提及任何内容,那么我们是否可以假设它不是线程安全的? 最佳答案 它具有使其线
我使用 Python 遇到了这个概念 distutils2/packaging . 我确实谷歌了,但没有完全理解这个想法,所以宁愿从更有经验的人那里得到更好的解释,以更好地吸收这个概念。 "Trove
Trove 中是否有与 Java 的 Collections.singleton、Collections.singletonList 或 singletonMap 类似的内容? 我正在开发一个应用程序
如何设置 TLongDoubleHashMap 集合的默认值(当键不存在时返回)。它默认返回 0,我希望它返回 NaN。 我在文档中找到了这个: Returns the value that will
有没有一种有效的方法可以将 Trove map 中的所有值设置为零? 现在我正在这样做: public static class NcZeroD implements TDoubleProce
目前,我正在使用 Guave 的 ArrayListMultiMap,我可以在其中处理超过 100.000 个项目。映射的键是一个字节数组,值为long。 现在我想减少开销。 我的想法是仅使用原始集合
我想在我的 java 项目中使用 Trove-1.0.2 jar 作为 map 。我使用 Eclipse IDE。我在构建路径中使用“添加外部 jars”添加了 Trove jar,但仍然得到 Cla
我正在使用 LinkedHashMap在我的程序中。但我需要一个具有原始数据类型的。我们有 map 但没有订购?对订购的有任何想法吗? 最佳答案 目前在 Trove 中没有类似 LinkedHashM
我偶然发现了 trove 的 TObjectDoubleHashMap 的问题。版本 2.0.2 不会覆盖 hashCode方法。 最新版本的 trove (3.0.0) 包括 hashCode .
出于性能原因,我正在将一些代码迁移到 GNU trove。 但是,我确实有一些 TreeSet,我需要相当快的更新和查找以及排序迭代 - TreeSet 的主要用例。当然,我会回顾一下它的使用,并检查
Trove 分类器列表位于:http://pypi.python.org/pypi?:action=list_classifiers 当我创建 PyPI 包时,我不确定是否需要将“ parent ”包
GNU Trove/trove4j TObjectIntHashMap 非常适合计算字符串出现次数: TObjectIntHashMap map = new TObjectIntHashMap<>()
最近我使用自动化脚本(devstack)安装了 openstack trove。成功安装并创建一些用户和项目后,我设法在其中创建一个数据库实例和数据库。不幸的是,我要构建的每个数据库实例(通过命令行或
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我想在一些 Trove 集合周围放置不可修改的包装器:我已经检查了 Trove 文档,但我似乎无法找到一种简单的方法来做到这一点(我可能忽略了一些明显的东西)。 到目前为止,每次我需要这样一个不可修改
我刚刚了解了 trove 库以及它如何比 JDK 的 Maps 更节省内存。我之前使用 HashMap 来存储 totalSize = 2^N 双数组 条目,如下所示: final Map myTab
在最近的一次采访中,有人问我 HashMap 在 Java 中是如何工作的,我能够很好地解释它并解释在最坏的情况下 HashMap 可能会由于链接而退化为列表。我被要求想出一种方法来提高这种表现,但在
我是一名优秀的程序员,十分优秀!