size()
类上的方法有用例java.util.BitSet
吗?
我的意思是 - 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"
在我一生中遇到的每一次遭遇BitSet
中,我一直想使用length()
,因为那个返回的逻辑大小为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()
现在,我缺少的方法有什么用例吗?它在任何方面都有用吗?有没有人用过它?对于一些手动操作或类似的东西可能很重要吗?
编辑(经过更多研究)
我意识到BitSet
它是在 Java 1.0 中引入的,而包含我们使用的大多数类的 Collections 框架是在 Java 1.2 中引入的。所以基本上在我看来,size()
由于遗留原因,它被保留了,并且没有真正的用处。新的 Collection 类没有这样的方法,而一些旧的(Vector
例如)有。