我在JavaDoc上读到了BitSet类的size()和length()函数,我理解它们背后的逻辑。
但是我需要一个函数来返回BitSet的实际大小(我插入的位数)。例如,下面的代码结果为0和64,但我需要一个返回5的函数。
$(document).ready(function() {
$( "#mytable tbody" ).on( "click", "tr", function() {
if($(this).hasClass('active'))
{
$(this).removeClass('active');
$(this).find('input').removeClass('active');
}
else
{
$(this).addClass('active');
$(this).find('input').addClass('active');
}
});
});
答案 0 :(得分:2)
BitSet
有3种方法描述其状态(长度和设置位)。
length
- 返回此BitSet的“逻辑大小”:BitSet中最高设置位的索引加1。size
- 返回此BitSet实际使用的空间位数,以表示位值。 cardinality
- 返回此BitSet中设置为true的位数。如果需要跟踪设置位数cardinality
,方法就是答案。请注意,它仅跟踪 true
位。
如果您需要跟踪set
的任何调用,最简单的解决方案是使用另一个计数器变量。所以你可以创建一个包装类或者扩展BitSet
(这可能不是最好的解决方案)。无论如何,在这种情况下你必须手工完成。
我的猜测是,您认为可以将BitSet
视为List
或capacity
(size
BitSet
} size
和{{{}} 1}} - 列表中的实际元素数。但是对于BitSet
只有true
位才有意义。