如果我在java中有BitSet
,其值为{2,5,9,10,11}
。如何获得索引2的值?或者给定指数的值。
我尝试使用get()
函数但它只返回boolean
值,无论该位是否已设置。
那么我们如何在数组中获取给定索引的值,在java中获取ArrayLists
呢?
答案 0 :(得分:0)
那么我们如何在java中的数组和数组列表中获取给定索引的值。?
你不能......在某种意义上你似乎意味着......而不是打破BitSet
抽象。
BitSet
概念上一个灵活的位数组或真/假值。就API而言,“给定索引处的值”(如您所述)是设置的位(get(i)
返回true
)或未设置(get(i)
返回true
)。
您可能会对BitSet::toString
生成的输出感到困惑,但这实际上是在BitSet
中显示位设置的索引。
引擎盖BitSet
(通常)表示为long[]
,但您无法通过BitSet
API方法获取该数组。 (你可以使用讨厌的反射来打破抽象,但这是一个坏主意。如果你需要能够看到支持数组,你可能更好地实现自己的API “漏洞抽象”或特定于您的应用程序需求的方法。或者直接对long[]
执行按位操作。)