gpt4 book ai didi

java - 获取 BitSet 中集合位的所有 Index

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:52 25 4
gpt4 key购买 nike

我正在寻找一种快速算法,为我提供 BitSet 对象中设置位的所有索引。这很慢:

BitSet bitSet = ...
Collection<Integer> indexes = new ArrayList<Integer>(bitSet.cardinality());
int nextSetBit = bitSet.nextSetBit(0);
for (int i = 0; i < bitSet.cardinality(); ++i ) {
indexes.add(nextSetBit);
nextSetBit = bitSet.nextSetBit(nextSetBit + 1);
}
...

感谢任何帮助!

最佳答案

根本不需要使用bitSet.cardinality():

for (int i = bitSet.nextSetBit(0); i != -1; i = bitSet.nextSetBit(i + 1)) {
indexes.add(i);
}

关于java - 获取 BitSet 中集合位的所有 Index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15390503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com