BitSet: Es handelt sich um eine Bytemenge, die zur Darstellung von Ganzzahlen und zur Durchführung von Operationen wie Schnittmenge und Vereinigung zweier Mengen verwendet werden kann.
Wir wissen, dass die kleinste Einheit des Computerspeichers Bit ist und die kleinste Einheit in unserem Java-Programm Byte ist. Die Konvertierungsbeziehung zwischen ihnen beträgt 1 Byte = 8 Bit. BitSet stellt die Größe der ganzzahligen Daten basierend auf der Position der Bits dar. Beispiel: 16 befindet sich an der 16. Position, 5 befindet sich an der 5. Position, sodass das folgende BitSet durch Analyse des Quellcodes die Menge {5,16} darstellen kann Von BitSet wissen wir, dass BitSet zwei Konstruktoren bereitstellt, einer ist BitSet() ohne Parameter und der andere ist BitSet(int nbits); wenn wir den Konstruktor ohne Parameter zum Erstellen eines BitSet-Objekts verwenden, beträgt die Standardlänge 64 Bit Erstellt. Objekt, die Datengröße, die dieses Objekt darstellen kann, beträgt 1~64, aber es spielt keine Rolle, selbst wenn wir Daten größer als 64 eingeben, da BitSet von selbst wächst und der Maximalwert Integer.MAX_VALUE=2147483647 sein kann .
Wenn man die Darstellungsmethode kennt, ist es nicht schwer, ihre Funktion zu verstehen. Wenn beispielsweise die Vereinigung der obigen Menge und {2,23,48} gefunden wird, wird sie zu einer bitcodierten ODER-Operation.
00000000 00000000 00000000 00000000 00000000 10000000 00100000 Sammlung {5,16}00000000 00000000 000 00000000 00000000 01000000 00000000 00000010 Stellen Sie {2,23,48}oder den Vorgang ein Das Endergebnis ist 00000000 10000000 00000000 00000000 01000000 10000000 00100010, also ist das Ergebnis {2,5,16,23,48}Keine anderen größeren Zahlen. Es dauert nur eine Bitcode-Aktualisierung.Hinweis:
Wenn Sie einen BitSet-Satz mit der maximalen Anzahl von Ziffern erstellen, BitSet bitSet = new BitSet(Integer.MAX_VALUE);meldet den folgenden Fehler
Ausnahme im Thread „main“ java.lang.OutOfMemoryError: Java heap spacebei java.util.BitSet.initWords(BitSet.java:144)bei java.util.BitSet.
(BitSet.java:139)
bei Test.main(Test.java:10)
Dies zeigt, dass der Java-Heap-Heap Der Speicher reicht nicht aus. Sie können es wie folgt ändern:
Sie können es auch so ändern, wenn Sie java.lang.OutOfMemoryError: Java-Heap-Space-Fehler
melden