public final class PagedGrowableWriter extends LongValues
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.
EMPTY
Constructor and Description |
---|
PagedGrowableWriter(long size,
int pageSize,
int startBitsPerValue,
float acceptableOverheadRatio)
Create a new
PagedGrowableWriter instance. |
Modifier and Type | Method and Description |
---|---|
long |
get(long index)
Get value at
index . |
T |
grow()
Similar to
ArrayUtil.grow(long[]) . |
T |
grow(long minSize)
Similar to
ArrayUtil.grow(long[], int) . |
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.
|
String |
toString() |
get
public PagedGrowableWriter(long size, int pageSize, int startBitsPerValue, float acceptableOverheadRatio)
PagedGrowableWriter
instance.size
- the number of values to store.pageSize
- the number of values per pagestartBitsPerValue
- the initial number of bits per valueacceptableOverheadRatio
- an acceptable overhead ratiopublic final long size()
public final long get(long index)
LongValues
index
.get
in class LongValues
public final void set(long index, long value)
index
.public long ramBytesUsed()
public final T resize(long newSize)
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.public final T grow(long minSize)
ArrayUtil.grow(long[], int)
.public final T grow()
ArrayUtil.grow(long[])
.Copyright © 2010 - 2020 Adobe. All Rights Reserved