Class PagedGrowableWriter


  • public final class PagedGrowableWriter
    extends LongValues
    A PagedGrowableWriter. This class slices data into fixed-size blocks which have independent numbers of bits per value and grow on-demand.

    You should use this class instead of the AbstractAppendingLongBuffer related ones only when you need random write-access. Otherwise this class will likely be slower and less memory-efficient.

    • Constructor Summary

      Constructors 
      Constructor Description
      PagedGrowableWriter​(long size, int pageSize, int startBitsPerValue, float acceptableOverheadRatio)
      Create a new PagedGrowableWriter instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long get​(long index)
      Get value at index.
      T grow()
      T grow​(long minSize)
      long ramBytesUsed()
      Return the number of bytes used by this object.
      T resize​(long newSize)
      Create a new copy of size newSize based on the content of this buffer.
      void set​(long index, long value)
      Set value at index.
      long size()
      The number of values.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • PagedGrowableWriter

        public PagedGrowableWriter​(long size,
                                   int pageSize,
                                   int startBitsPerValue,
                                   float acceptableOverheadRatio)
        Create a new PagedGrowableWriter instance.
        Parameters:
        size - the number of values to store.
        pageSize - the number of values per page
        startBitsPerValue - the initial number of bits per value
        acceptableOverheadRatio - an acceptable overhead ratio
    • Method Detail

      • size

        public final long size()
        The number of values.
      • get

        public final long get​(long index)
        Description copied from class: LongValues
        Get value at index.
        Specified by:
        get in class LongValues
      • set

        public final void set​(long index,
                              long value)
        Set value at index.
      • ramBytesUsed

        public long ramBytesUsed()
        Return the number of bytes used by this object.
      • resize

        public final T resize​(long newSize)
        Create a new copy of size newSize based on the content of this buffer. This method is much more efficient than creating a new instance and copying values one by one.
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object