【发布时间】:2013-03-01 16:39:33
【问题描述】:
我正在寻找一种快速算法,它可以为我提供 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);
}
...
感谢任何帮助!
【问题讨论】:
-
请阅读这篇好文章java-performance.info/bit-sets