Java Bitset 类是动态的,它的大小会随着其中的 ON 位而变化。但是字节数组可以保存特定的位数,并且很容易与 SQL 服务器一起用于从数据库中复制和检索数据。这是真的?
Bitset 类能否用于非常大的位计算(逻辑运算 OR、AND)。还是字节数组有优势,就像字节数组一样,我们可以处理位的特定部分并相应地修改它们?
如果有一个标准类可以提供您需要的功能,那么您应该优先使用该类而不是编写您自己的代码。因为库的编写者可能(无意冒犯)比您更好的程序员,并且代码已经过测试和调试。只有当你有具体的事实表明标准类的性能不足时,你才应该考虑编写自己的......即使那样你的努力也不太可能成功。
对于相同的数据量(即分配空间的 8 倍),byte[] 比 bitset 大,因为 byte = 8 bits。同样有效的是使用 int/long 来表示位集,这是我用来表示数据库中大型枚举集的方法。如果它是专门为存储位而制作的,你为什么要回避 BitSet...