Java 位集大小不一致
我正在初始化一个长度为4的位集变量。当我尝试使用Random的类nextBoolean方法为该位集设定种子时。它提供了删除元素的效果。这很可能是因为我没有使用位集的经验。但据我所知,Bitset变量中的每个元素都应该有一个随机的0或1。有人能看出我做错了什么并解释这是什么吗Java 位集大小不一致,java,random,bitset,Java,Random,Bitset,我正在初始化一个长度为4的位集变量。当我尝试使用Random的类nextBoolean方法为该位集设定种子时。它提供了删除元素的效果。这很可能是因为我没有使用位集的经验。但据我所知,Bitset变量中的每个元素都应该有一个随机的0或1。有人能看出我做错了什么并解释这是什么吗 public void seedCandidate() { // Randomly sets bits in the candidate for (int i = 0; i < numVals; i+
public void seedCandidate()
{
// Randomly sets bits in the candidate
for (int i = 0; i < numVals; i++)
truthVals.set(i, rn.nextBoolean());
}
public-void-seedCandidate()
{
//随机设置候选中的位
对于(int i=0;i
当我输出位集的长度时,它会给出随机大小。truthVals(Bitset变量)的长度应该是4,这是它的实例,因此它应该是{0,1,2,3}。但是在顶部的方法播种之后,我得到了这些不同的长度。来自不同的位集变量
{1,2,3},{0,1,2,3},{0},{0,2,3}来自:
公共位集(int-nbits)
创建一个位集,其初始大小足以显式表示索引范围在0到nbits-1之间的位所有位最初都为假
public int length()
返回此位集的“逻辑大小:位集中最高位的索引加上一个。如果位集不包含设置位,则返回零
public int size()
返回此位集实际用于表示位值的空间位数
public int基数()
返回此位集中设置为true的位数
public void set(int-bitIndex,布尔值)
将指定索引处的位设置为指定值
公共字符串toString()
那么什么是混乱/意外的呢?将位集视为布尔数组。(当然,实现是一个长的位数组。)
将“如果尚未添加,则向集合中添加7。”set(7,true)
将“从集合中删除7(如果已经存在)。”set(7,false)
int基数()
容量(保留位,“数组大小”)int size()