Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取BiSet实例的长度_Java_Bitset - Fatal编程技术网

Java 获取BiSet实例的长度

Java 获取BiSet实例的长度,java,bitset,Java,Bitset,我有一个函数,它以BiSet对象作为参数。我有以下几点 public static void(String [] args) { BitSet test = new BitSet(15); Store(test); } public void Store (BitSet a) { boolean [] temp = new boolean[a.length()](); System.out.println(temp.length); } 问题是我的temp或a的长度

我有一个函数,它以BiSet对象作为参数。我有以下几点

public static void(String [] args)
{
   BitSet test = new BitSet(15);

     Store(test);
}

public void Store (BitSet a)
{
  boolean [] temp = new boolean[a.length()]();
  System.out.println(temp.length);
}
问题是我的temp或a的长度是64。如何获得传递到函数库的对象实例测试的实际长度(15)?

您不能。报告说:

创建一个位集,其初始大小足以显式表示索引范围在
0
nbits-1
之间的位

无法保证初始大小不会大于请求的大小。事实上,
nbit
在构造函数完成时丢失

但是没有理由需要实际代码中的初始大小。

你不能。报告说:

创建一个位集,其初始大小足以显式表示索引范围在
0
nbits-1
之间的位

无法保证初始大小不会大于请求的大小。事实上,
nbit
在构造函数完成时丢失


但是没有理由需要实际代码中的初始大小。

您的
位集可能没有15位的长度。确保它可以容纳15位。什么是“实际长度”,它与长度有什么不同?位集没有明确的大小;它只能报告设置的最高位。是的,但当我有temp.length时,我有64位,而不是15位。我可以设置第10位,但仍然希望temp的长度为15位(我可以稍后设置其他位)。您的
位集
可能没有15位的长度。确保它可以容纳15位。什么是“实际长度”,它与长度有什么不同?位集没有明确的大小;它只能报告设置的最高位。是的,但当我有temp.length时,我有64位,而不是15位。我可以设置第10位,但仍然希望temp的长度为15位(我可以稍后设置其他位),如果这不可能,是否还有其他数据结构可以使用,并且可以有效地应用(设置、或、和XOR)(我正在考虑类似C#中的位数组的东西)@用户3841581您可以使用简单的
int
long
。但你不会得到15个比特。现在还不清楚你为什么会想要它。问题不是得到15位,而是有一个布尔数组,我可以在上面高效地执行我前面在一个高效的例子中提到的操作way@user3841581那么
BitSet
就可以了。但是我想保留一个特定的大小,因为我有一些基于位集长度的循环。这是我的问题如果这不可能,是否还有其他数据结构我可以使用并且可以有效地应用(设置、或、和、XOR)(我在考虑类似C#中的BitArray的东西)@user3841581您可以使用一个简单的
int
long
。但你不会得到15个比特。现在还不清楚你为什么会想要它。问题不是得到15位,而是有一个布尔数组,我可以在上面高效地执行我前面在一个高效的例子中提到的操作way@user3841581那么
BitSet
就可以了。但是我想保留一个特定的大小,因为我有一些基于位集长度的循环。这是我的问题