除了这篇相当老的帖子之外,我还需要一些可以使用原语并为包含大量HashSet
s 的应用程序提供加速的东西Integers
:
Set<Integer> set = new HashSet<Integer>();
所以人们提到像 Guava、Javalution、Trove 这样的库,但是在基准和性能结果方面并没有完美的比较,或者至少是来自良好经验的好答案。从我看到的很多人推荐 Trove's TIntHashSet
,但也有人说它不是那么好;有人说 Guava 超酷且易于管理,但我不需要美观和可维护性,只需要时间执行,所以 Python 的风格 Guava 就回家了 :) Javalution?我访问过该网站,对我来说似乎太旧了,因此很古怪。
图书馆应该提供最佳的可实现时间,内存无关紧要。
查看“Thinking in Java”,有一个想法是HashMap
使用int[]
as 键创建自定义。所以我想看到类似的东西,HashSet
或者只是下载并使用一个很棒的库。
编辑(回应下面的评论)所以在我的项目中,我从大约 50 个HashSet<Integer>
集合开始,然后我调用一个函数大约 1000 次,内部创建多达 10 个HashSet<Integer>
集合。如果我更改初始参数,数字可能会呈指数增长。我只在这些集合上使用add()
,contains()
和clear()
方法,这就是选择它们的原因。
现在我要找到一个实现HashSet
或类似的库,但由于自动装箱Integer
开销和其他我不知道的东西,它会更快地完成。事实上,当我的数据进入并将它们存储在那些HashSet
s 中时,我正在使用整数。