Java BitSet,可轻松串联BitSet

我需要一个BitSet,它可以轻松地将多个BitSet串联起来以创建一个新的BitSet. default implementation没有这种方法.

你们中任何人都知道某个外部库中有任何实现可以轻松串联的实现吗?

例如,假设我有一个位数组11111和另一个位数组010101.我想要附加功能.因此,连接后将得到11111010101.

最佳答案
好吧,因为没有左移方法,所以无法实现这种极其有效的性能(即性能和内存).

您可以使用明显的nextSetBit进行循环-速度慢,但内存效率高.

大概更快的方法是在一个数组上使用toLongArray,将其正确复制到足够大的数组中,然后从该数组中创建一个位集,或与另一个数组一起创建一个位集.这样,您就不会对单个位进行任何移位,而是对字化的块进行处理.

转载注明原文:Java BitSet,可轻松串联BitSet - 代码日志