类 MutableRoaringArray

java.lang.Object
org.bitlap.roaringbitmap.buffer.MutableRoaringArray
所有已实现的接口:
Externalizable, Serializable, Cloneable, AppendableStorage<MappeableContainer>, PointableRoaringArray

public final class MutableRoaringArray extends Object implements Cloneable, Externalizable, PointableRoaringArray, AppendableStorage<MappeableContainer>
Specialized array to store the containers used by a RoaringBitmap. This class is similar to org.roaringbitmap.RoaringArray but meant to be used with memory mapping. This is not meant to be used by end users. Objects of this class reside in RAM.
另请参阅:
  • 字段详细资料

    • INITIAL_CAPACITY

      protected static final int INITIAL_CAPACITY
      另请参阅:
    • NO_OFFSET_THRESHOLD

      protected static final int NO_OFFSET_THRESHOLD
      另请参阅:
  • 构造器详细资料

    • MutableRoaringArray

      protected MutableRoaringArray()
    • MutableRoaringArray

      public MutableRoaringArray(int initialCapacity)
  • 方法详细资料

    • advanceUntil

      public int advanceUntil(char x, int pos)
      从接口复制的说明: PointableRoaringArray
      Find the smallest integer index larger than pos such that getKeyAtIndex(index)>=x. If none can be found, return size.
      指定者:
      advanceUntil 在接口中 PointableRoaringArray
      参数:
      x - minimal value
      pos - index to exceed
      返回:
      the smallest index greater than pos such that getKeyAtIndex(index) is at least as large as min, or size if it is not possible.
    • append

      public void append(char key, MappeableContainer value)
      从接口复制的说明: AppendableStorage
      Appends the key and container to the storage, throws if the key is less than the current mark.
      指定者:
      append 在接口中 AppendableStorage<MappeableContainer>
      参数:
      key - the key to append
      value - the data to append
    • appendCopiesAfter

      protected void appendCopiesAfter(PointableRoaringArray highLowContainer, char beforeStart)
      Append copies of the values AFTER a specified key (may or may not be present) to end.
      参数:
      highLowContainer - the other array
      beforeStart - given key is the largest key that we won't copy
    • appendCopiesUntil

      protected void appendCopiesUntil(PointableRoaringArray highLowContainer, char stoppingKey)
      Append copies of the values from another array, from the start
      参数:
      highLowContainer - the other array
      stoppingKey - any equal or larger key in other array will terminate copying
    • appendCopy

      protected void appendCopy(PointableRoaringArray highLowContainer, int startingIndex, int end)
      Append copies of the values from another array
      参数:
      highLowContainer - other array
      startingIndex - starting index in the other array
      end - last index array in the other array
    • appendCopy

      protected void appendCopy(char key, MappeableContainer value)
    • clear

      protected void clear()
    • trim

      public void trim()
      If possible, recover wasted memory.
    • clone

      public MutableRoaringArray clone()
      从接口复制的说明: PointableRoaringArray
      Create an independent copy of the underlying array
      指定者:
      clone 在接口中 PointableRoaringArray
      覆盖:
      clone 在类中 Object
      返回:
      a copy
    • copyRange

      protected void copyRange(int begin, int end, int newBegin)
    • deserialize

      public void deserialize(DataInput in) throws IOException
      Deserialize.
      参数:
      in - the DataInput stream
      抛出:
      IOException - Signals that an I/O exception has occurred.
    • deserialize

      public void deserialize(ByteBuffer bbf)
      Deserialize (retrieve) this bitmap. See format specification at https://github.com/RoaringBitmap/RoaringFormatSpec The current bitmap is overwritten. It is not necessary that limit() on the input ByteBuffer indicates the end of the serialized data. After loading this RoaringBitmap, you can advance to the rest of the data (if there is more) by setting bbf.position(bbf.position() + bitmap.serializedSizeInBytes()); Note that the input ByteBuffer is effectively copied (with the slice operation) so you should expect the provided ByteBuffer position/mark/limit/order to remain unchanged.
      参数:
      bbf - the byte buffer (can be mapped, direct, array backed etc.
    • extendArray

      protected void extendArray(int k)
    • getCardinality

      public int getCardinality(int i)
      从接口复制的说明: PointableRoaringArray
      Returns the cardinality of the container at the given index. This method is expected to be fast.
      指定者:
      getCardinality 在接口中 PointableRoaringArray
      参数:
      i - index
      返回:
      the cardinality
    • getContainerIndex

      public int getContainerIndex(char x)
      从接口复制的说明: PointableRoaringArray
      Returns either the index of the container corresponding to key x, or a negative value.
      指定者:
      getContainerIndex 在接口中 PointableRoaringArray
      参数:
      x - 16-bit key
      返回:
      index of container (negative value if no container found)
    • getContainerAtIndex

      public MappeableContainer getContainerAtIndex(int i)
      指定者:
      getContainerAtIndex 在接口中 PointableRoaringArray
      参数:
      i - index
      返回:
      matching container
    • getContainerPointer

      public MappeableContainerPointer getContainerPointer()
      指定者:
      getContainerPointer 在接口中 PointableRoaringArray
      返回:
      a ContainerPointer to iterator over the array
    • getContainerPointer

      public MappeableContainerPointer getContainerPointer(int startIndex)
      指定者:
      getContainerPointer 在接口中 PointableRoaringArray
      参数:
      startIndex - starting index
      返回:
      a ContainerPointer to iterator over the array initially positioned at startIndex
    • getIndex

      public int getIndex(char x)
      指定者:
      getIndex 在接口中 PointableRoaringArray
      参数:
      x - 16-bit key
      返回:
      corresponding index
    • getKeyAtIndex

      public char getKeyAtIndex(int i)
      指定者:
      getKeyAtIndex 在接口中 PointableRoaringArray
      参数:
      i - the index
      返回:
      16-bit key at the index
    • equals

      public boolean equals(Object o)
      覆盖:
      equals 在类中 Object
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object
    • hasRunCompression

      public boolean hasRunCompression()
      从接口复制的说明: PointableRoaringArray
      Check whether this bitmap has had its runs compressed.
      指定者:
      hasRunCompression 在接口中 PointableRoaringArray
      返回:
      whether this bitmap has run compression
    • headerSize

      protected int headerSize()
    • insertNewKeyValueAt

      protected void insertNewKeyValueAt(int i, char key, MappeableContainer value)
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      指定者:
      readExternal 在接口中 Externalizable
      抛出:
      IOException
      ClassNotFoundException
    • removeAtIndex

      protected void removeAtIndex(int i)
    • removeIndexRange

      protected void removeIndexRange(int begin, int end)
    • replaceKeyAndContainerAtIndex

      protected void replaceKeyAndContainerAtIndex(int i, char key, MappeableContainer c)
    • resize

      protected void resize(int newLength)
    • serialize

      public void serialize(DataOutput out) throws IOException
      Serialize. The current bitmap is not modified.
      指定者:
      serialize 在接口中 PointableRoaringArray
      参数:
      out - the DataOutput stream
      抛出:
      IOException - Signals that an I/O exception has occurred.
    • serialize

      public void serialize(ByteBuffer buffer)
      Serialize. The current bitmap is not modified.
      指定者:
      serialize 在接口中 PointableRoaringArray
      参数:
      buffer - the ByteBuffer to write to
    • serializedSizeInBytes

      public int serializedSizeInBytes()
      Report the number of bytes required for serialization.
      指定者:
      serializedSizeInBytes 在接口中 PointableRoaringArray
      返回:
      the size in bytes
    • setContainerAtIndex

      protected void setContainerAtIndex(int i, MappeableContainer c)
    • size

      public int size()
      指定者:
      size 在接口中 PointableRoaringArray
      返回:
      number of keys
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      指定者:
      writeExternal 在接口中 Externalizable
      抛出:
      IOException
    • containsForContainerAtIndex

      public boolean containsForContainerAtIndex(int i, char x)
      从接口复制的说明: PointableRoaringArray
      This checks whether the container at index i has the value x. This can be faster than calling "getContainerAtIndex" and then calling contains.
      指定者:
      containsForContainerAtIndex 在接口中 PointableRoaringArray
      参数:
      i - container index (assumed to be non-negative)
      x - 16-bit value to check
      返回:
      whether the container contains at index i contains x
    • first

      public int first()
      从接口复制的说明: PointableRoaringArray
      Gets the first value in the array
      指定者:
      first 在接口中 PointableRoaringArray
      返回:
      te first value in the array
    • last

      public int last()
      从接口复制的说明: PointableRoaringArray
      Gets the last value in the array
      指定者:
      last 在接口中 PointableRoaringArray
      返回:
      te last value in the array