【问题标题】:Iterate over java.util.BitSet in Scala在 Scala 中迭代 java.util.BitSet
【发布时间】:2019-07-31 15:34:47
【问题描述】:

在 Scala 中迭代 java BitSet 的最佳答案是什么?

我目前有这个:

var setBit = -1
Iterator.continually { setBit = bitSet.nextSetBit(setBit + 1); setBit }
      .takeWhile(_ >= 0)

最被接受的方法是什么? 我对这种方法没有信心的原因是可变的 setBit 声明和 setBit = bitSet.nextSetBit(setBit + 1); setBit 部分。

【问题讨论】:

    标签: scala iterator bitset


    【解决方案1】:

    使用.iterate 代替.continually。那么就不需要可变的var

    Iterator.iterate(bitSet.nextSetBit(0))(x => bitSet.nextSetBit(x+1))
            .takeWhile(_ >= 0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      • 2013-11-20
      • 2010-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多