public final class RunContainer extends Container implements Cloneable
ContainerNames
Modifier | Constructor and Description |
---|---|
|
RunContainer()
Create a container with default capacity
|
protected |
RunContainer(ArrayContainer arr,
int nbrRuns) |
protected |
RunContainer(BitmapContainer bc,
int nbrRuns) |
|
RunContainer(int capacity)
Create an array container with specified capacity
|
|
RunContainer(MappeableRunContainer bc)
Creates a new non-mappeable container from a mappeable one.
|
|
RunContainer(short[] array,
int numRuns)
Construct a new RunContainer backed by the provided array.
|
Modifier and Type | Method and Description |
---|---|
Container |
add(int begin,
int end)
Return a new container with all shorts in [begin,end) added using an unsigned interpretation.
|
Container |
add(short k)
Add a short to the container.
|
Container |
and(ArrayContainer x)
Computes the bitwise AND of this container with another (intersection).
|
Container |
and(BitmapContainer x)
Computes the bitwise AND of this container with another (intersection).
|
Container |
and(RunContainer x)
Computes the bitwise AND of this container with another (intersection).
|
int |
andCardinality(ArrayContainer x) |
int |
andCardinality(BitmapContainer x) |
int |
andCardinality(RunContainer x) |
Container |
andNot(ArrayContainer x)
Computes the bitwise ANDNOT of this container with another (difference).
|
Container |
andNot(BitmapContainer x)
Computes the bitwise ANDNOT of this container with another (difference).
|
Container |
andNot(RunContainer x)
Computes the bitwise ANDNOT of this container with another (difference).
|
void |
clear()
Empties the container
|
Container |
clone() |
protected boolean |
contains(ArrayContainer arrayContainer) |
protected boolean |
contains(BitmapContainer bitmapContainer) |
protected boolean |
contains(RunContainer runContainer) |
boolean |
contains(short x)
Checks whether the contain contains the provided value
|
void |
deserialize(DataInput in)
Deserialize (recover) the container.
|
protected void |
ensureCapacity(int minNbRuns) |
boolean |
equals(Object o) |
void |
fillLeastSignificant16bits(int[] x,
int i,
int mask)
Fill the least significant 16 bits of the integer array, starting at index i, with the short
values from this container.
|
int |
first()
Get the first integer held in the container
|
Container |
flip(short x)
Add a short to the container if it is not present, otherwise remove it.
|
void |
forEach(short msb,
IntConsumer ic)
Iterate through the values of this container and pass them
along to the IntConsumer, using msb as the 16 most significant bits.
|
static Container |
full() |
protected int |
getArraySizeInBytes()
Size of the underlying array
|
int |
getCardinality()
Computes the distinct number of short values in the container.
|
ShortIterator |
getReverseShortIterator()
Iterator to visit the short values in the container in descending order.
|
PeekableShortIterator |
getShortIterator()
Iterator to visit the short values in the container in ascending order.
|
int |
getSizeInBytes()
Computes an estimate of the memory usage of this container.
|
int |
hashCode() |
Container |
iadd(int begin,
int end)
Add all shorts in [begin,end) using an unsigned interpretation.
|
Container |
iand(ArrayContainer x)
Computes the in-place bitwise AND of this container with another (intersection).
|
Container |
iand(BitmapContainer x)
Computes the in-place bitwise AND of this container with another (intersection).
|
Container |
iand(RunContainer x)
Computes the in-place bitwise AND of this container with another (intersection).
|
Container |
iandNot(ArrayContainer x)
Computes the in-place bitwise ANDNOT of this container with another (difference).
|
Container |
iandNot(BitmapContainer x)
Computes the in-place bitwise ANDNOT of this container with another (difference).
|
Container |
iandNot(RunContainer x)
Computes the in-place bitwise ANDNOT of this container with another (difference).
|
protected Container |
ilazyor(ArrayContainer x) |
Container |
inot(int rangeStart,
int rangeEnd)
Computes the in-place bitwise NOT of this container (complement).
|
boolean |
intersects(ArrayContainer x)
Returns true if the current container intersects the other container.
|
boolean |
intersects(BitmapContainer x)
Returns true if the current container intersects the other container.
|
boolean |
intersects(RunContainer x)
Returns true if the current container intersects the other container.
|
Container |
ior(ArrayContainer x)
Computes the in-place bitwise OR of this container with another (union).
|
Container |
ior(BitmapContainer x)
Computes the in-place bitwise OR of this container with another (union).
|
Container |
ior(RunContainer x)
Computes the in-place bitwise OR of this container with another (union).
|
Container |
iremove(int begin,
int end)
Remove shorts in [begin,end) using an unsigned interpretation.
|
protected boolean |
isFull() |
Iterator<Short> |
iterator() |
Container |
ixor(ArrayContainer x)
Computes the in-place bitwise XOR of this container with another (symmetric difference).
|
Container |
ixor(BitmapContainer x)
Computes the in-place bitwise XOR of this container with another (symmetric difference).
|
Container |
ixor(RunContainer x)
Computes the in-place bitwise XOR of this container with another (symmetric difference).
|
int |
last()
Get the last integer held in the container
|
protected Container |
lazyor(ArrayContainer x) |
Container |
limit(int maxcardinality)
Create a new Container containing at most maxcardinality integers.
|
Container |
not(int rangeStart,
int rangeEnd)
Computes the bitwise NOT of this container (complement).
|
int |
numberOfRuns() |
Container |
or(ArrayContainer x)
Computes the bitwise OR of this container with another (union).
|
Container |
or(BitmapContainer x)
Computes the bitwise OR of this container with another (union).
|
Container |
or(RunContainer x)
Computes the bitwise OR of this container with another (union).
|
int |
rank(short lowbits)
Rank returns the number of integers that are smaller or equal to x (Rank(infinity) would be
GetCardinality()).
|
void |
readExternal(ObjectInput in) |
Container |
remove(int begin,
int end)
Return a new container with all shorts in [begin,end) remove using an unsigned interpretation.
|
Container |
remove(short x)
Remove the short from this container.
|
Container |
repairAfterLazy()
The output of a lazyOR or lazyIOR might be an invalid container, this should be called on it.
|
Container |
runOptimize()
Convert to Array or Bitmap container if the serialized form would be shorter.
|
short |
select(int j)
Return the jth value
|
void |
serialize(DataOutput out)
Serialize the container.
|
int |
serializedSizeInBytes()
Report the number of bytes required to serialize this container.
|
protected static int |
serializedSizeInBytes(int numberOfRuns) |
BitmapContainer |
toBitmapContainer()
Convert the current container to a BitmapContainer, if a conversion is needed.
|
MappeableContainer |
toMappeableContainer()
Convert to a mappeable container.
|
ShortBuffer |
toShortBuffer()
Return the content of this container as a ShortBuffer.
|
String |
toString() |
void |
trim()
If possible, recover wasted memory.
|
protected void |
writeArray(DataOutput out)
Write just the underlying array.
|
void |
writeExternal(ObjectOutput out) |
Container |
xor(ArrayContainer x)
Computes the bitwise XOR of this container with another (symmetric difference).
|
Container |
xor(BitmapContainer x)
Computes the bitwise XOR of this container with another (symmetric difference).
|
Container |
xor(RunContainer x)
Computes the bitwise XOR of this container with another (symmetric difference).
|
and, andCardinality, andNot, assertNonEmpty, contains, getContainerName, iand, iandNot, intersects, ior, ixor, lazyIOR, lazyOR, or, rangeOfOnes, xor, xorCardinality
finalize, getClass, notify, notifyAll, wait, wait, wait
forEach, spliterator
public RunContainer()
protected RunContainer(ArrayContainer arr, int nbrRuns)
protected RunContainer(BitmapContainer bc, int nbrRuns)
public RunContainer(int capacity)
capacity
- The capacity of the containerpublic RunContainer(MappeableRunContainer bc)
bc
- the original containerpublic RunContainer(short[] array, int numRuns)
array
- array where the data is storednumRuns
- number of runs (each using 2 shorts in the buffer)protected static int serializedSizeInBytes(int numberOfRuns)
public Container add(int begin, int end)
Container
public Container add(short k)
Container
public Container and(ArrayContainer x)
Container
public Container and(BitmapContainer x)
Container
public Container and(RunContainer x)
Container
public int andCardinality(ArrayContainer x)
andCardinality
in class Container
public int andCardinality(BitmapContainer x)
andCardinality
in class Container
public int andCardinality(RunContainer x)
andCardinality
in class Container
public Container andNot(ArrayContainer x)
Container
public Container andNot(BitmapContainer x)
Container
public Container andNot(RunContainer x)
Container
public void clear()
Container
public boolean contains(short x)
Container
protected boolean contains(RunContainer runContainer)
protected boolean contains(ArrayContainer arrayContainer)
protected boolean contains(BitmapContainer bitmapContainer)
public void deserialize(DataInput in) throws IOException
Container
deserialize
in class Container
in
- the DataInput streamIOException
- Signals that an I/O exception has occurred.protected void ensureCapacity(int minNbRuns)
public void fillLeastSignificant16bits(int[] x, int i, int mask)
Container
fillLeastSignificant16bits
in class Container
x
- provided arrayi
- starting indexmask
- indicates most significant bitspublic Container flip(short x)
Container
protected int getArraySizeInBytes()
Container
getArraySizeInBytes
in class Container
public int getCardinality()
Container
getCardinality
in class Container
public ShortIterator getReverseShortIterator()
Container
getReverseShortIterator
in class Container
public PeekableShortIterator getShortIterator()
Container
getShortIterator
in class Container
public int getSizeInBytes()
Container
getSizeInBytes
in class Container
public Container iadd(int begin, int end)
Container
public Container iand(ArrayContainer x)
Container
public Container iand(BitmapContainer x)
Container
public Container iand(RunContainer x)
Container
public Container iandNot(ArrayContainer x)
Container
public Container iandNot(BitmapContainer x)
Container
public Container iandNot(RunContainer x)
Container
protected Container ilazyor(ArrayContainer x)
public Container inot(int rangeStart, int rangeEnd)
Container
public boolean intersects(ArrayContainer x)
Container
intersects
in class Container
x
- other containerpublic boolean intersects(BitmapContainer x)
Container
intersects
in class Container
x
- other containerpublic boolean intersects(RunContainer x)
Container
intersects
in class Container
x
- other containerpublic Container ior(ArrayContainer x)
Container
public Container ior(BitmapContainer x)
Container
public Container ior(RunContainer x)
Container
public Container iremove(int begin, int end)
Container
protected boolean isFull()
public static Container full()
public Container ixor(ArrayContainer x)
Container
public Container ixor(BitmapContainer x)
Container
public Container ixor(RunContainer x)
Container
protected Container lazyor(ArrayContainer x)
public Container limit(int maxcardinality)
Container
public Container not(int rangeStart, int rangeEnd)
Container
public int numberOfRuns()
public Container or(ArrayContainer x)
Container
public Container or(BitmapContainer x)
Container
public Container or(RunContainer x)
Container
public int rank(short lowbits)
Container
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
public Container remove(int begin, int end)
Container
public Container remove(short x)
Container
public Container repairAfterLazy()
Container
repairAfterLazy
in class Container
public Container runOptimize()
runOptimize
in class Container
public short select(int j)
Container
public void serialize(DataOutput out) throws IOException
Container
serialize
in class Container
out
- the DataOutput streamIOException
- Signals that an I/O exception has occurred.public int serializedSizeInBytes()
Container
serializedSizeInBytes
in class Container
public MappeableContainer toMappeableContainer()
Container
toMappeableContainer
in class Container
public ShortBuffer toShortBuffer()
public void trim()
Container
protected void writeArray(DataOutput out) throws IOException
Container
writeArray
in class Container
out
- output streamIOException
- in case of failurepublic void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public Container xor(ArrayContainer x)
Container
public Container xor(BitmapContainer x)
Container
public Container xor(RunContainer x)
Container
public void forEach(short msb, IntConsumer ic)
Container
public BitmapContainer toBitmapContainer()
Container
toBitmapContainer
in class Container
public int first()
Container
Copyright © 2018. All rights reserved.