Package org.roaringbitmap.buffer
The org.roaringbitmap.buffer package provides
two classes (
MutableRoaringBitmap
and
(ImmutableRoaringBitmap
) that users
can rely upon for fast set of integers.
It differs from the org.roaringbitmap in that
the backing stores are ByteBuffers.
Initially, one wants to construct a bitmap using
the MutableRoaringBitmap class. After serialization,
one can memory-map an ImmutableRoaringBitmap to the
serialized bytes, enabling off-heap processing.
import org.roaringbitmap.buffer.*;
//...
MutableRoaringBitmap r1 = new MutableRoaringBitmap();
for(int k = 4000; k<4255;++k) r1.add(k);
MutableRoaringBitmap r2 = new MutableRoaringBitmap();
for(int k = 1000; k<4255; k+=2) r2.add(k);
MutableRoaringBitmap union = ImmutableRoaringBitmap.or(r1, r2);
MutableRoaringBitmap intersection = ImmutableRoaringBitmap.and(r1, r2);
//...
DataOutputStream wheretoserialize = ...
r1.runOptimize(); // can help compression
r1.serialize(wheretoserialize);
-
Interface Summary Interface Description MappeableContainerPointer This interface allows you to iterate over the containers in a roaring bitmap.PointableRoaringArray Generic interface for the array underlying roaring bitmap classes. -
Class Summary Class Description ArrayBatchIterator BitmapBatchIterator BufferBitSetUtil This class provides convenience functions to manipulate BitSet and MutableRoaringBitmap objects.BufferFastAggregation Fast algorithms to aggregate many bitmaps.BufferIntIteratorFlyweight Fast iterator minimizing the stress on the garbage collector.BufferParallelAggregation These utility methods provide parallel implementations of logical aggregation operators.BufferParallelAggregation.ContainerCollector Collects containers grouped by their key into a RoaringBitmap, applying the supplied aggregation function to each group.BufferParallelAggregation.OrCollector Collects a list of containers into a single container.BufferReverseIntIteratorFlyweight Fast iterator minimizing the stress on the garbage collector.BufferUtil Various useful methods for roaring bitmaps.ImmutableRoaringArray This is the underlying data structure for an ImmutableRoaringBitmap.ImmutableRoaringBitmap ImmutableRoaringBitmap provides a compressed immutable (cannot be modified) bitmap.MappeableArrayContainer Simple container made of an array of 16-bit integers.MappeableBitmapContainer Simple bitset-like container.MappeableContainer Base container class.MappeableRunContainer This container takes the form of runs of consecutive values (effectively, run-length encoding).MutableRoaringArray Specialized array to store the containers used by a RoaringBitmap.MutableRoaringBitmap MutableRoaringBitmap, a compressed alternative to the BitSet.MutableRoaringBitmapPrivate Deprecated. MutableRoaringBitmapSupplier RoaringBatchIterator RunBatchIterator