Class RoaringBitmap

java.lang.Object
org.roaringbitmap.RoaringBitmap
All Implemented Interfaces:
Externalizable, Serializable, Cloneable, Iterable<Integer>, AppendableStorage<Container>, BitmapDataProvider, ImmutableBitmapDataProvider
Direct Known Subclasses:
FastRankRoaringBitmap

RoaringBitmap, a compressed alternative to the BitSet.
 
      import org.roaringbitmap.*;

      //...

      RoaringBitmap rr = RoaringBitmap.bitmapOf(1,2,3,1000);
      RoaringBitmap rr2 = new RoaringBitmap();
      for(int k = 4000; k<4255;++k) rr2.add(k);
      RoaringBitmap rror = RoaringBitmap.or(rr, rr2);

      //...
      DataOutputStream wheretoserialize = ...
      rr.runOptimize(); // can help compression
      rr.serialize(wheretoserialize);
 
 
Integers are added in unsigned sorted order. That is, they are treated as unsigned integers (see Java 8's Integer.toUnsignedLong function). Up to 4294967296 integers can be stored.
See Also: