I'm a beginner programmer, and I recently stumbled upon a BitArray data structure while reading a single book (more precisely, Pearls Programming). I wanted to learn a little and work a bit on BitArray, as I did not know about this before. I made a simple implementation in C # (such simple things as creating a BitArray, setting values, etc.), but when I wanted to try it in Java, it complained that BitArray was unknown. So I searched the web and changed BitArray to BitSet. Is BitSet the equivalent of BitArray in Java? Also, I donβt quite understand the different values ββof size () and length () in BitSet. Check out the code below:
public class Sandbox { public static void main(String argv[]) { BitSet bitSet1 = new BitSet(16); bitSet1.set(0); bitSet1.set(8); bitSet1.set(15); displayBitSet(bitSet1); } static void displayBitSet(BitSet bitSet) { for(int i=0;i<bitSet.size();i++) { boolean bit = bitSet.get(i); System.out.print(bit?1:0); } System.out.println(" "+bitSet.size()+" "+bitSet.length()); } }
Exit:
1000000010000001000000000000000000000000000000000000000000000000 64 16
I thought I would get something like
1000000010000001 16 16
Where do these trailing zeros come from? Can someone explain this to me? thanks ~~
source share