作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这些缺失是否有任何特殊原因?
它们确实存在于 BigInteger
中, 但由于 BigInteger
的不可变设计模式这些通常非常慢。 BitSet
更好,因为它是可变的,但我真的很想念 shift
函数( <<
和 >>>
代表 long
s)。对于 BitSet
,就地移位以及循环旋转也很有用。
我看到了Shifting a Java BitSet的回复(使用 get(off, len)
进行移位;但这需要复制)。
不要误会我的意思。我知道在哪里报告错误。我只是想知道是否有特定的原因忽略它们,例如一些设计模式或这样的概念。特别是因为它们包含在 BigInteger
中.
最佳答案
从概念上讲,BitSet
通常/经常用于跟踪大量设置,这样集合中的每个位都有特定的含义。因此,在这种情况下,移位操作毫无意义。
您显然已经找到了 BitSet
的另一个有用用途,但它超出了 BitSet
可能设想的范围。
关于java - 为什么 Java `BitSet` 没有 `shiftLeft` 和 `shiftRight` 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9101435/
我正在尝试创建一个新程序。我导入了一个 csv 文件,数据需要清理。第一行具有正确的标题,但与应分配给列标签的内容存在一些不匹配。 例如:正确的行应该是: A B C
这些缺失是否有任何特殊原因? 它们确实存在于 BigInteger 中, 但由于 BigInteger 的不可变设计模式这些通常非常慢。 BitSet更好,因为它是可变的,但我真的很想念 shift函
我是一名优秀的程序员,十分优秀!