当前位置:  开发笔记 > 编程语言 > 正文

TreeSet:有效地小于一个值的元素数

如何解决《TreeSet:有效地小于一个值的元素数》经验,为你挑选了0个好方法。

我需要一种TreeSet真正快速地计算小于Integers中的X的元素数的方法。

我可以用

subSet()

耳机()

tailSet()

方法,但它们确实很慢(我只需要计数,而不是数字本身)。有办法吗?

谢谢。


编辑:

我发现了一种变通方法,可以使事情更快!我正在使用BitSet及其cardinality()方法。我首先创建一个BitSet,然后为添加到TreeSet中的每个元素设置BitSet中的相应索引。现在,要计算少于XI的元素数量,请使用:

bitset.get(0,X + 1).cardinality()

与treeset.subSet(0,true,X,true).size()相比,这要快得多。

有人知道为什么吗?我假设BitSet.cardinality()不使用线性搜索。

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有