2017-06-10 2 views
-5

私は、JavaにBitSetがあることを知りました。既に配列や類似のデータ構造があります。 BitSetはどこで使用できますか?どこでBitSetを使うのですか?なぜそれをJavaで使うのですか?

+0

どこでも 'BitSet'が定義されています。 OT:[boolean array vs BitSet](https://stackoverflow.com/questions/605226/boolean-vs-bitset-which-is-more-efficient)のようなオンライン比較のトン。 "配列とそれに類似したデータ構造がすでに存在する*" - int型の値を使って 'true/false'を表現できるときに' boolean'を使うのはなぜですか? –

+0

'BitSet'は、(大きすぎない)範囲内の非負整数の集合に対して非常に効率的です。配列やハッシュマップよりもはるかに効率的です。 'EnumSet'は' BitSet'と同じ方法で実装されています。 –

+0

リンクが私をエスケープしますが、2つの文字列に同じ文字が含まれているかどうかを判断する方法を何人かが尋ねました。非常に長い文字列の良い答えの1つは、各文字列の文字セットを構築し、そのビットセットを比較することです。 –

答えて

1

はこれを見てください:

https://docs.oracle.com/javase/7/docs/api/java/util/BitSet.html

AのBitSetはビットのベクトルです。リストの各エントリはtrue(1)またはfalse(0)のいずれかです。 BitSetクラスには、ビットごとの演算子に似たメソッドが付属しています。通常のバイナリタイプより少し柔軟性があります。

関連する問題