ホームページ > 类库下载 > java类库 > Java.util パッケージでの BitSet の使用法

Java.util パッケージでの BitSet の使用法

阿神
リリース: 2016-11-07 17:37:48
オリジナル
2226 人が閲覧しました

BitSet: これはバイト セットであり、整数を表したり、2 つのセットの交差や和集合などの演算を実行したりするために使用できます。

コンピューターのストレージの最小単位はビット、Java プログラムで使用する最小単位はバイトであることがわかっています。両者の変換関係は 1Byte=8bit です。 BitSet は、ビットの位置に基づいて整数データのサイズを表します。例: 16 は 16 番目の位置にあり、5 は 5 番目の位置にあるため、次の BitSet はセット {5,16} を表すことができます

Java.util パッケージでの BitSet の使用法

BitSet のソース コードを分析すると、BitSet が 2 つのコンストラクターを提供していることがわかります。 1 つはパラメーターなしの BitSet() で、もう 1 つは BitSet(int nbits) です。パラメーターなしでコンストラクターを使用して BitSet オブジェクトを作成すると、デフォルトの長さ 64 ビットのオブジェクトが作成され、データ サイズはこのオブジェクトが表現できる値は 1 ~ 64 ですが、BitSet は自己増加するため、64 より大きいデータを入れても問題ありません。最大値は Integer.MAX_VALUE=2147483647 です。

たとえば、上記の集合と {2,23,48} の和集合が見つかると、ビットコード化された OR 演算になります。

00000000 00000000 00000000 00000000 00000000 00000000 10000000 00100000 セット {5,16}

00000000 00000000 100000 00 00000000 00000000 01000000 00000000 00000010 集合 {2,23,48}

の OR 演算の結果は

00000000 00000000 10000000 00000000 00000 000 01000000 10000000 00100010 したがって、結果は {2,5,16,23,48} になります

その他のより大きな数値は、より長いビットコードにすぎません。

注:

最大桁数で BitSet セットを作成すると、BitSet bitSet = new BitSet(Integer.MAX_VALUE);

次のエラーが報告されます

スレッド "main" java で例外が発生します。 lang.OutOfMemoryError: Java ヒープ スペース

at java.util.BitSet.initWords(BitSet.java:144)

at java.util.BitSet.(BitSet.java:139)

at Test.main(Test. java:10)

これは Java ヒープ領域が不十分であることを示しており、次のように変更できます:

Java.util パッケージでの BitSet の使用法

java.lang.OutOfMemoryError のその他のレポート: Java ヒープ領域エラーもこの方法で変更できます


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート