示例:我有一个 120 位的 BitSet (010* 0 *001000......)。现在我想将设置为零的第 4 位修改为 1。
SET(4,TRUE) - 像这样的东西。可以用Java完成吗?
我可以通过 cov=nverting 将 bitset 转换为 Char[] 数组,然后更改确切的位并再次将其反转回 Bitset 来实现,但它会使用大量不必要的内存并且会影响性能。一个例子就好了。如果需要更多说明,请通过您的评论告诉我。
在javadoc中描述了 BitSet API ,并且有许多set(...)
方法用于设置或清除单个位或位范围。
BitSet b = ...
b.set(4, true);
阅读 javadoc 以了解您是否使用了正确的索引值。(从零计数与从一计数。)
实际上,只需阅读 javadoc。
是的,我们实际上可以做到这一点。BitSet 类提供设置和清除各个位的方法。
它有四种不同参数输入的设置方法-
1.set(int bitIndex) - 将指定索引处的位设置为真。
2.set(int bitIndex, boolean value) - 将指定索引处的位设置为指定值。
3.set(int fromIndex, int toIndex) - 将指定fromIndex(包括)到指定toIndex(不包括)的位设置为true。
4.set(int fromIndex, int toIndex, boolean value) - 将指定fromIndex(含)到指定toIndex(不含)的位设置为指定值。
我会尽快举一个例子。