java.util.BitSet
クラスのsize()
メソッドのユースケースはありますか?BitSetのsize()メソッドの理由は何ですか?
つまり、JavaDocは実装に依存していると明言していますが、その内部のサイズはビット単位でlong[]
です。それが言うから、1あなたがsize()
よりも高いインデックスを持つビットを設定することはできませんと結論できたが、それは本当ではない、BitSet
は自動的に成長することができます:
BitSet myBitSet = new BitSet();
System.out.println(myBitSet.size()); // prints "64"
myBitSet.set(768);
System.out.println(myBitSet.size()); // prints "832"
をBitSet
と一つ一つの出会いで私は最後の6年間のJavaプログラミングされているにもかかわらず
BitSet myBitSet = new BitSet();
System.out.println(myBitSet.length()); // prints "0"
myBitSet.set(768);
System.out.println(myBitSet.length()); // prints "769"
、2つの方法が非常に常にある:私は1がBitSet
の論理サイズを返しますので、私はいつもlength()
を使用していた、私の人生でした私を混乱させる。私はしばしばそれらを混ぜて間違ったものを使用します。なぜなら私の頭の中ではBitSet
を巧みにSet<boolean>
と言います。size()
を使用します。
ArrayList
がlength()
の場合は要素数を返し、size()
の場合は基本配列のサイズを返します。
今、私が紛失しているsize()
メソッドのユースケースはありますか?それはどんな方法でも便利ですか?誰もそれを何のために使ったことがありますか?手作りのビットがつまったり、それと似たようなものがある場合は、重要なのでしょうか? BitSet
はJava 1.0で導入された
EDIT私が実現
(いくつかのより多くの研究の後に)我々が使用するクラスのほとんどはコレクションフレームワークは、Java 1.2で導入されました。だから、基本的には、私は、size()
は遺産理由のために保管されていると思われ、実際の使用はありません。新しいCollectionクラスにはこのようなメソッドはありませんが、古いコレクションクラス(たとえばVector
)の中にはいくつかのメソッドがあります。
結局のところ正しい軌道に乗っていたようです。革命的な方法で誰かがこのメソッドを使うともう少しお待ちしていますが、私はダニがあなたのものになると思います。彼らがそれを非難しなかったのは残念です。間違った時間を使うと、貴重な時間を節約できます。 –