Bitset in Java: alles wat u moet weten over Bitset-methoden in Java



Dit artikel zal u in detail kennis laten maken met Bitsets in Java en u kennis laten maken met verschillende Bitset-methoden met relevante voorbeelden.

is een van de meest verzorgde certificeringen voor de programmeurs. De belangrijkste reden hiervoor is dat Java veel flexibiliteit en verschillende functies biedt om verschillende taken te vereenvoudigen. In dit artikel maakt u kennis met een dergelijke functie: ‘ Bitsets in Java ‘. Dit zijn tips waar dit artikel zich op zal richten:

Dus laten we beginnen met het eerste gespreksonderwerp,





Wat zijn bitsets in Java?

Bitsets vertegenwoordigt een reeks van N bits met een vaste grootte met waarden van nul of één. Nul betekent dat de waarde onwaar of niet is ingesteld. De ene betekent dat de waarde waar of ingesteld is. De grootte van de bitset ligt vast tijdens het compileren.Bitset is een klasse die is gedefinieerd in het pakket java.util. Het is een speciaal type array dat bitwaarden bevat. Het implementeert een vector van bits. De grootte wordt automatisch groter naarmate er meer bits nodig zijn.

Deze klasse biedt ons twee soorten constructors om bitset te vormen van zowel gehele getallen als strings. Die twee zijn:



  • Bitset (): Het is een constructor zonder argument om een ​​standaardobject te maken.
  • Bitset (int maat): Het is een één-constructor met integer-argumenten om een ​​instantie van de bitset-klasse te vormen met een initiële grootte van het integer-argument dat de no vertegenwoordigt. van bits.

Bijvoorbeeld:

import java.util.BitSet public class BitSetJavaExample {public static void main (String args []) {int n = 8 BitSet p = nieuwe BitSet (n) voor (int i = 0i



Laten we nu verder gaan en het volgende onderwerp van discussie in dit artikel over Bits in Java bekijken,

BITSET JAVA METHODEN EN BESCHRIJVINGEN

Bitset en () methode

Deze methode wordt gebruikt om een ​​logische EN-bewerking van de doelbitset uit te voeren met het opgegeven argument. De waarde van set komt alleen uit en alleen als de beide bitset initieel en de corresponderende bitset de ware waarde hebben.

Syntaxis: public void en (BitSet set)

Voorbeeld:

wat is een gebufferde lezer
import java.util.BitSet public class BitSetAndExample2 {public static void main (String [] args) {// maak 2 bitsets BitSet bitset1 = nieuwe BitSet () BitSet bitset2 = nieuwe BitSet () // wijs waarden toe aan bitset1 bitset1.set ( 1) bitset1.set (2) bitset1.set (3) bitset1.set (6) bitset1.set (7) // wijs waarden toe aan bitset2 bitset2.set (10) bitset2.set (20) bitset2.set (30) bitset2.set (40) bitset2.set (60) // print de sets System.out.println ('bitset1:' + bitset1) System.out.println ('bitset2:' + bitset2) // voer en bewerking uit tussen twee bitsets bitset1.and (bitset2) // print de nieuwe bitset1 System.out.println ('resultaat bitset:' + bitset1)}}

Uitgang:

Bitset andNot () - methode

Deze methode wordt gebruikt om de hele bit in de bitset te wissen waarvan de corresponderende bits al in de gespecificeerde bitset zijn ingesteld.

Syntaxis- public void andNot (BitSet set)

Voorbeeld:

import java.util.BitSet publieke klasse BitSetAndNotExample2 {public static void main (String [] args) {BitSet bitset1 = nieuwe BitSet () bitset1.set (60) bitset1.set (61) bitset1.set (62) bitset1.set ( 63) bitset1.set (64) // print de sets System.out.println ('bitset1:' + bitset1) // voer andNot-bewerking uit tussen bitset en null-throw uitzondering bitset1.andNot (null) // print het nieuwe bitset1 System .out.println ('resultaat bitset na andNot:' + bitset1)}}

Uitgang: -

Bitset cardinality () Methode

Deze methode wordt gebruikt om alleen het aantal bits te retourneren dat waar is in de bitset.

Syntaxis- openbare int kardinaliteit ()

Voorbeeld

import java.util.BitSet public class BitSetCardinalityExample1 {public static void main (String [] args) {// maak een bitset BitSet bitset = nieuwe BitSet () // wijs waarden toe aan bitset bitset.set (10) bitset.set (11 ) bitset.set (12) bitset.set (15) bitset.set (16) // print de sets System.out.println ('bitset:' + bitset) int trueBits = bitset.cardinality () // print bitset kardinaliteit System.out.println ('aantal true bits:' + trueBits) bitset.clear (2) System.out.println ('bitset after clear index 2:' + bitset) trueBits = bitset.cardinality () // print bitset kardinaliteit na duidelijke index 2 System.out.println ('aantal echte bits na duidelijke index 2:' + trueBits)}}

Uitgang

BitSet clone () -methode

Deze methode wordt gebruikt om de kloon van de bitset naar een nieuwe bitset te maken. Deze bitset is gelijk aan de huidige originele bitset. De kloonbitset draagt ​​exact dezelfde werkelijke waarden als de originele bitset.

Syntaxis- kloon openbaar object ()

Voorbeeld -

import java.util.BitSet openbare klasse BitSetCloneExample1 {openbare statische leegte hoofd (String [] args) {BitSet bitsetOriginal = nieuwe BitSet (15) bitsetOriginal.set (12) bitsetOriginal.set (13) bitsetOriginal.set (15) bitsetOriginal.set (16) bitsetOriginal.set (18) // print huidige bitset System.out.println ('Current bitset:' + bitsetOriginal) // maak een kloon van huidige bitset Object bitsetClone = bitsetOriginal.clone () // print kloon bitset System. out.println ('Clone bitset:' + bitsetClone)}}

Uitvoer

BitSet is gelijk aan () Methode

Deze methode van de JAVA-bitset wordt gebruikt om het huidige bitset-object te vergelijken met het opgegeven bitset-object.

Het resultaat van het vergelijken van bitset retourneert true als en alleen als het opgegeven bitset-object niet nul is en de set bitset-object exact dezelfde set bitset-to-true-waarde moet hebben als deze Bitset.

Syntaxis- openbare boolean is gelijk aan (object obj)

Voorbeeld -

import java.util.BitSet public class BitSetEqualsExample1 {public static void main (String [] args) {// aanmaken bitset BitSet bitset = nieuwe BitSet (15) Object obj = nieuwe BitSet (15) bitset.set (10) bitset.set (11) bitset.set (12) bitset.set (13) bitset.set (14) ((BitSet) obj) .set (10) ((BitSet) obj) .set (11) ((BitSet) obj). set (12) ((BitSet) obj) .set (13) ((BitSet) obj) .set (14) // print huidige bitsets System.out.println ('bitset:' + bitset) System.out.println ( 'object:' + obj) boolean bol = bitset.equals (obj) if (bol == true) {System.out.println ('BitSet is gelijk aan opgegeven object')} anders {System.out.println ('BitSet is niet gelijk aan het opgegeven object ')}}}
 

Uitvoer

BitSet isEmpty-methode

Deze methode retourneert true als deze bitset geen bits bevat die zijn ingesteld op true.

Syntaxis- openbare Boolean isEmpty ()

Voorbeeld

import java.util.BitSet openbare klasse BitSetIsEmptyExample1 {openbare statische leegte hoofd (String [] args) {BitSet bitset1 = nieuwe BitSet (15) BitSet bitset2 = nieuwe BitSet (15) bitset1.set (11) bitset1.set (12) bitset1 .set (13) bitset1.set (14) System.out.println ('bitset1:' + bitset1) System.out.println ('bitset2:' + bitset2) // retourneert false omdat bitset1 niet leeg is boolean b1 = bitset1 .isEmpty () // retourneert true omdat bitset2 leeg is boolean b2 = bitset2.isEmpty () System.out.println ('bitset1 isEmpty:' + b1) System.out.println ('bitset2 isEmpty:' + b2)}}

Uitvoer

BitSet length () Methode

Deze methode retourneert de logische grootte van deze bitset. De lengte gaat omhoog naar de index van de hoogst ingestelde bit plus één.Het retourneert nul als bit set geen bit bevat.

Syntaxis- openbare int lengte ()

Voorbeeld-

import java.util.BitSet public class BitSetLengthExample1 {public static void main (String [] args) {BitSet bitset1 = nieuwe BitSet (15) BitSet bitset2 = nieuwe BitSet (15) BitSet bitset3 = nieuwe BitSet (15) bitset2.set (11 ) bitset2.set (12) bitset2.set (13) bitset2.set (14) bitset3.set (12) bitset3.set (14) bitset3.set (16) bitset3.set (18) bitset3.set (0) bitset3 .set (2) System.out.println ('bitset1:' + bitset1) System.out.println ('bitset2:' + bitset2) System.out.println ('bitset3:' + bitset3) int length1 = bitset1.length () int length2 = bitset2.length () int length3 = bitset3.length () System.out.println ('lengte van bitset1:' + lengte1) System.out.println ('lengte van bitset2:' + lengte2) System. out.println ('lengte van bitset3:' + lengte3)}}

Uitgang

verschillen tussen html en xml

BitSet intersects () Methode

Deze methode retourneert de Booleaanse waarde true of false op basis van het feit of de parameter bitset de bitset heeft doorkruist of niet.Het geeft true terug als de BitSet-set ook waar is in deze bitset.

Syntaxis- openbare Boolean snijdt (BitSet-set)

Voorbeeld

import java.util.BitSet publieke klasse BitSetEntersectsExample2 {public static void main (String [] args) {BitSet bitset = nieuwe BitSet (15) bitset.set (11) bitset.set (12) bitset.set (13) bitset.set (14) System.out.println ('bitset:' + bitset) // perform andNot-bewerking tussen bitset en null-throw-uitzondering boolean b = bitset.intersects (null) System.out.println ('doorsneden resultaat tussen bitset en null: '+ b)}}

Uitgang

Met behulp van bitsgewijze operatoren kunnen we verschillende bewerkingen implementeren zoals AND, OR, NOT, XOR etc. Ze werken op kleinere schaal. Ze kunnen op elk type geheel getal worden toegepast. Bitwise-operators werken op bitniveau. Ze zijn snel en hebben minder geheugen nodig. Veel cryptografie-algoritmen werken ook op bitniveau.

Dit zijn het jongens. Dit brengt ons bij het einde van dit artikel over Bits in Java. Ik hoop dat je deze informatie leuk vond. Bekijk de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-training en -certificering is ontworpen om u een voorsprong te geven in het programmeren van Java en om u te trainen in zowel de kern als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van deze blog en we nemen zo snel mogelijk contact met je op.