Class BitSetUtil

java.lang.Object
org.roaringbitmap.BitSetUtil

public class BitSetUtil extends Object
This class provides convenience functions to manipulate BitSet and RoaringBitmap objects.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private static ArrayContainer
    arrayContainerOf(int from, int to, int cardinality, long[] words)
     
    bitmapOf(long[] words)
    Generate a RoaringBitmap out of a long[], each long using little-endian representation of its bits
    bitmapOf(ByteBuffer bb, boolean fastRank)
    Efficiently generate a RoaringBitmap from an uncompressed byte array or ByteBuffer This method tries to minimise all kinds of memory allocation
    bitmapOf(ByteBuffer bb, boolean fastRank, long[] wordsBuffer)
    Efficiently generate a RoaringBitmap from an uncompressed byte array or ByteBuffer This method tries to minimise all kinds of memory allocation
    You can provide a cached wordsBuffer for avoiding 8 KB of extra allocation on every call No reference is kept to the wordsBuffer, so it can be cached as a ThreadLocal
    bitmapOf(BitSet bitSet)
    Generate a RoaringBitmap out of a BitSet
    private static int
    cardinality(int from, int to, long[] words)
     
    private static Container
    containerOf(int from, int to, int blockCardinality, long[] words)
     
    static boolean
    equals(BitSet bitset, RoaringBitmap bitmap)
    Compares a RoaringBitmap and a BitSet.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • BitSetUtil

      public BitSetUtil()
  • Method Details

    • arrayContainerOf

      private static ArrayContainer arrayContainerOf(int from, int to, int cardinality, long[] words)
    • bitmapOf

      public static RoaringBitmap bitmapOf(BitSet bitSet)
      Generate a RoaringBitmap out of a BitSet
      Parameters:
      bitSet - original bitset (will not be modified)
      Returns:
      roaring bitmap equivalent to BitSet
    • bitmapOf

      public static RoaringBitmap bitmapOf(long[] words)
      Generate a RoaringBitmap out of a long[], each long using little-endian representation of its bits
      Parameters:
      words - array of longs (will not be modified)
      Returns:
      roaring bitmap
      See Also:
    • bitmapOf

      public static RoaringBitmap bitmapOf(ByteBuffer bb, boolean fastRank)
      Efficiently generate a RoaringBitmap from an uncompressed byte array or ByteBuffer This method tries to minimise all kinds of memory allocation
      Parameters:
      bb - the uncompressed bitmap
      fastRank - if set, returned bitmap is of type FastRankRoaringBitmap
      Returns:
      roaring bitmap
    • bitmapOf

      public static RoaringBitmap bitmapOf(ByteBuffer bb, boolean fastRank, long[] wordsBuffer)
      Efficiently generate a RoaringBitmap from an uncompressed byte array or ByteBuffer This method tries to minimise all kinds of memory allocation
      You can provide a cached wordsBuffer for avoiding 8 KB of extra allocation on every call No reference is kept to the wordsBuffer, so it can be cached as a ThreadLocal
      Parameters:
      bb - the uncompressed bitmap
      fastRank - if set, returned bitmap is of type FastRankRoaringBitmap
      wordsBuffer - buffer of length BLOCK_LENGTH
      Returns:
      roaring bitmap
    • cardinality

      private static int cardinality(int from, int to, long[] words)
    • containerOf

      private static Container containerOf(int from, int to, int blockCardinality, long[] words)
    • equals

      public static boolean equals(BitSet bitset, RoaringBitmap bitmap)
      Compares a RoaringBitmap and a BitSet. They are equal if and only if they contain the same set of integers.
      Parameters:
      bitset - first object to be compared
      bitmap - second object to be compared
      Returns:
      whether they are equals