在 Scala 中迭代 java.util.BitSet
Iterate over java.util.BitSet in Scala
在 Scala 中迭代 java BitSet 的最佳答案是什么?
我目前有这个:
var setBit = -1
Iterator.continually { setBit = bitSet.nextSetBit(setBit + 1); setBit }
.takeWhile(_ >= 0)
最容易接受的方法是什么?
我对这种方法没有信心的原因是可变的 setBit 声明和 setBit = bitSet.nextSetBit(setBit + 1); setBit
部分。
使用 .iterate
而不是 .continually
。那么就不需要可变的 var
.
Iterator.iterate(bitSet.nextSetBit(0))(x => bitSet.nextSetBit(x+1))
.takeWhile(_ >= 0)
在 Scala 中迭代 java BitSet 的最佳答案是什么?
我目前有这个:
var setBit = -1
Iterator.continually { setBit = bitSet.nextSetBit(setBit + 1); setBit }
.takeWhile(_ >= 0)
最容易接受的方法是什么?
我对这种方法没有信心的原因是可变的 setBit 声明和 setBit = bitSet.nextSetBit(setBit + 1); setBit
部分。
使用 .iterate
而不是 .continually
。那么就不需要可变的 var
.
Iterator.iterate(bitSet.nextSetBit(0))(x => bitSet.nextSetBit(x+1))
.takeWhile(_ >= 0)