BitSet的size()方法的原因是什么?
在 java.util.BitSet
类上是否有 size()
方法的用例?
我的意思是 - JavaDoc清楚地表明它是依赖于实现的,它以位为单位返回内部存储的大小。从它所说的,人们可以得出结论,您将无法设置比 更高的索引位,但事实并非如此,它可以自动增长:long[]
size()
BitSet
BitSet myBitSet = new BitSet();
System.out.println(myBitSet.size()); // prints "64"
myBitSet.set(768);
System.out.println(myBitSet.size()); // prints "832"
在我生命中与我的每一次相遇中,我一直想使用long(),
因为那一个返回了逻辑大小的:BitSet
BitSet
BitSet myBitSet = new BitSet();
System.out.println(myBitSet.length()); // prints "0"
myBitSet.set(768);
System.out.println(myBitSet.length()); // prints "769"
尽管我在过去的6年里一直在编写Java,但这两种方法对我来说总是非常混乱。我经常将它们混合在一起,并偶然使用错误的一个,因为在我的脑海中,我认为我会使用.BitSet
Set<boolean>
size()
这就像如果返回元素的数量并返回基础数组的大小一样。ArrayList
length()
size()
现在,我缺少的方法是否有任何用例?它有什么用处吗?有没有人用过它?对于一些手动摆动或类似的东西来说,这可能很重要吗?size()
编辑(经过更多的研究)
我意识到是在Java 1.0中引入的,而我们使用的大多数类的集合框架是在Java 1.2中引入的。所以基本上在我看来,这是由于遗产原因而保留的,它没有真正的用途。新的 Collection 类没有这样的方法,而一些旧类(例如 Vector
)有。BitSet
size()