标签: java bitset
BitSet内部使用大小为6的长数组。
但它可以包含2 ^ 31-1位。
长= 64位
6 longs = 64 * 6.但是远小于2 ^ 31-1。请解释一下这个技巧。
答案 0 :(得分:4)
存储值的内部数组会在必要时展开,就像ArrayList对对象一样。因此,您的陈述是错误的。
ArrayList
大小有2^31-1(位)的硬限制,但这只是因为操作(set,flip等)取得了索引参数为int。对于大多数用例来说,这可能足够大了。
2^31-1
set
flip
int