java.lang.Object
org.roaringbitmap.buffer.MappeableContainer
org.roaringbitmap.buffer.MappeableArrayContainer
- All Implemented Interfaces:
Externalizable
,Serializable
,Cloneable
,Iterable<Character>
,WordStorage<MappeableContainer>
Simple container made of an array of 16-bit integers. Unlike org.roaringbitmap.ArrayContainer,
this class uses a CharBuffer to store data.
- See Also:
- Serialized Form
-
Field Summary
FieldsFields inherited from class org.roaringbitmap.buffer.MappeableContainer
ContainerNames
-
Constructor Summary
ConstructorsConstructorDescriptionCreate an array container with default capacityMappeableArrayContainer(int capacity)
Create an array container with specified capacityMappeableArrayContainer(int firstOfRun, int lastOfRun)
Create an array container with a run of ones from firstOfRun to lastOfRun, exclusive.MappeableArrayContainer(CharBuffer array, int cardinality)
Construct a new ArrayContainer backed by the provided CharBuffer.Creates a new container from a non-mappeable one. -
Method Summary
Modifier and TypeMethodDescriptionadd(char x)
running time is in O(n) time if insert is not in order.add(int begin, int end)
Return a new container with all chars in [begin,end) added using an unsigned interpretation.and(MappeableArrayContainer value2)
Computes the bitwise AND of this container with another (intersection).Computes the bitwise AND of this container with another (intersection).and(MappeableRunContainer value2)
Computes the bitwise AND of this container with another (intersection).int
andCardinality(MappeableArrayContainer value2)
int
int
void
andInto(long[] bits)
Computes the intersection of this container with the bits present in the array, modifying the array.andNot(MappeableArrayContainer value2)
Computes the bitwise ANDNOT of this container with another (difference).andNot(MappeableBitmapContainer value2)
Computes the bitwise ANDNOT of this container with another (difference).Computes the bitwise ANDNOT of this container with another (difference).void
clear()
Empties the containerclone()
boolean
contains(char x)
Checks whether the contain contains the provided valueboolean
contains(int minimum, int supremum)
Checks whether the container contains the entire rangestatic boolean
contains(ByteBuffer buf, int position, char x, int cardinality)
Checks whether the container contains the value x.protected boolean
contains(MappeableArrayContainer arrayContainer)
protected boolean
contains(MappeableBitmapContainer bitmapContainer)
protected boolean
contains(MappeableRunContainer runContainer)
static MappeableArrayContainer
empty()
boolean
void
fillLeastSignificant16bits(int[] x, int i, int mask)
Fill the least significant 16 bits of the integer array, starting at index index, with the char values from this container.int
first()
Get the first integer held in the containerflip(char x)
Add a char to the container if it is not present, otherwise remove it.void
forEach(char 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.protected int
Size of the underlying arrayprotected static int
getArraySizeInBytes(int cardinality)
Gets an iterator to visit the contents of the container in batchesint
Computes the distinct number of char values in the container.Iterator to visit the char values in the container in ascending order.Iterator to visit the char values in the container in descending order.int
Computes an estimate of the memory usage of this container.int
hashCode()
iadd(int begin, int end)
Add all chars in [begin,end) using an unsigned interpretation.iand(MappeableArrayContainer value2)
Computes the in-place bitwise AND of this container with another (intersection).iand(MappeableBitmapContainer value2)
Computes the in-place bitwise AND of this container with another (intersection).iand(MappeableRunContainer value2)
Computes the in-place bitwise AND of this container with another (intersection).iandNot(MappeableArrayContainer value2)
Computes the in-place bitwise ANDNOT of this container with another (difference).iandNot(MappeableBitmapContainer value2)
Computes the in-place bitwise ANDNOT of this container with another (difference).iandNot(MappeableRunContainer value2)
Computes the in-place bitwise ANDNOT of this container with another (difference).inot(int firstOfRange, int lastOfRange)
Computes the in-place bitwise NOT of this container (complement).boolean
intersects(int minimum, int supremum)
Checks if the container intersects with a rangeboolean
intersects(MappeableArrayContainer value2)
Returns true if the current container intersects the other container.boolean
Returns true if the current container intersects the other container.boolean
Returns true if the current container intersects the other container.ior(MappeableArrayContainer value2)
Computes the in-place bitwise OR of this container with another (union).Computes the in-place bitwise OR of this container with another (union).ior(MappeableRunContainer value2)
Computes the in-place bitwise OR of this container with another (union).iremove(int begin, int end)
Remove chars in [begin,end) using an unsigned interpretation.protected boolean
boolean
isEmpty()
Checks whether the container is empty or not.boolean
isFull()
Checks whether the container is full or not.iterator()
ixor(MappeableArrayContainer value2)
Computes the in-place bitwise XOR of this container with another (symmetric difference).Computes the in-place bitwise XOR of this container with another (symmetric difference).ixor(MappeableRunContainer value2)
Computes the in-place bitwise XOR of this container with another (symmetric difference).int
last()
Get the last integer held in the containerprotected MappeableContainer
lazyor(MappeableArrayContainer value2)
limit(int maxcardinality)
Create a new MappeableContainer containing at most maxcardinality integers.int
nextAbsentValue(char fromValue)
Gets the first absent value greater than or equal to the lower bound.int
nextValue(char fromValue)
Gets the first value greater than or equal to the lower bound, or -1 if no such value exists.not(int firstOfRange, int lastOfRange)
Computes the bitwise NOT of this container (complement).or(MappeableArrayContainer value2)
Computes the bitwise OR of this container with another (union).Computes the bitwise OR of this container with another (union).or(MappeableRunContainer value2)
Computes the bitwise OR of this container with another (union).protected MappeableContainer
or(CharIterator it)
void
orInto(long[] bits)
Computes the union of this container with the bits present in the array, modifying the array.int
previousAbsentValue(char fromValue)
Gets the last value less than or equal to the upper bound.int
previousValue(char fromValue)
Gets the last value less than or equal to the upper bound, or -1 if no such value exists.int
rank(char lowbits)
Rank returns the number of integers that are smaller or equal to x (Rank(infinity) would be GetCardinality()).void
readExternal(ObjectInput in)
remove(char x)
Remove the char from this container.remove(int begin, int end)
Return a new container with all chars in [begin,end) remove using an unsigned interpretation.void
removeFrom(long[] bits)
Computes the intersection of the negation of this container with the bits present in the array, modifying the array.The output of a lazyOR or lazyIOR might be an invalid container, this should be called on it.Convert to MappeableRunContainers, when the result is smaller.char
select(int j)
Return the jth valueint
Report the number of bytes required to serialize this container.protected static int
serializedSizeInBytes(int cardinality)
Copies the data in a bitmap container.Convert to a non-mappeable container.char[]
Create a copy of the content of this container as a char array.toString()
void
trim()
If possible, recover wasted memory.protected void
writeArray(DataOutput out)
Write just the underlying array.protected void
writeArray(ByteBuffer buffer)
Write just the underlying array.void
writeExternal(ObjectOutput out)
xor(MappeableArrayContainer value2)
Computes the bitwise XOR of this container with another (symmetric difference).Computes the bitwise XOR of this container with another (symmetric difference).xor(MappeableRunContainer value2)
Computes the bitwise XOR of this container with another (symmetric difference).protected MappeableContainer
xor(CharIterator it)
Methods inherited from class org.roaringbitmap.buffer.MappeableContainer
and, andCardinality, andNot, assertNonEmpty, contains, getContainerName, iand, iandNot, intersects, ior, iorNot, ixor, lazyIOR, lazyOR, or, orNot, rangeOfOnes, xor, xorCardinality
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
DEFAULT_MAX_SIZE
protected static final int DEFAULT_MAX_SIZE- See Also:
- Constant Field Values
-
cardinality
protected int cardinality -
-
-
Constructor Details
-
MappeableArrayContainer
public MappeableArrayContainer()Create an array container with default capacity -
MappeableArrayContainer
Creates a new container from a non-mappeable one. This copies the data.- Parameters:
bc
- the original container
-
MappeableArrayContainer
public MappeableArrayContainer(int capacity)Create an array container with specified capacity- Parameters:
capacity
- The capacity of the container
-
MappeableArrayContainer
public MappeableArrayContainer(int firstOfRun, int lastOfRun)Create an array container with a run of ones from firstOfRun to lastOfRun, exclusive. Caller is responsible for making sure the range is small enough that ArrayContainer is appropriate.- Parameters:
firstOfRun
- first indexlastOfRun
- last index (range is exclusive)
-
MappeableArrayContainer
Construct a new ArrayContainer backed by the provided CharBuffer. Note that if you modify the ArrayContainer a new CharBuffer may be produced.- Parameters:
array
- CharBuffer where the data is storedcardinality
- cardinality (number of values stored)
-
-
Method Details
-
getArraySizeInBytes
protected static int getArraySizeInBytes(int cardinality) -
serializedSizeInBytes
protected static int serializedSizeInBytes(int cardinality) -
empty
-
add
Description copied from class:MappeableContainer
Return a new container with all chars in [begin,end) added using an unsigned interpretation.- Specified by:
add
in classMappeableContainer
- Parameters:
begin
- start of range (inclusive)end
- end of range (exclusive)- Returns:
- the new container
-
add
running time is in O(n) time if insert is not in order.- Specified by:
add
in interfaceWordStorage<MappeableContainer>
- Specified by:
add
in classMappeableContainer
- Parameters:
x
- char to be added- Returns:
- the new container
-
isEmpty
public boolean isEmpty()Description copied from class:MappeableContainer
Checks whether the container is empty or not.- Specified by:
isEmpty
in interfaceWordStorage<MappeableContainer>
- Specified by:
isEmpty
in classMappeableContainer
- Returns:
- true if the container is empty.
-
isFull
public boolean isFull()Description copied from class:MappeableContainer
Checks whether the container is full or not.- Specified by:
isFull
in classMappeableContainer
- Returns:
- true if the container is full.
-
orInto
public void orInto(long[] bits)Description copied from class:MappeableContainer
Computes the union of this container with the bits present in the array, modifying the array.- Specified by:
orInto
in classMappeableContainer
- Parameters:
bits
- a 1024 element array to be interpreted as a bit set
-
andInto
public void andInto(long[] bits)Description copied from class:MappeableContainer
Computes the intersection of this container with the bits present in the array, modifying the array.- Specified by:
andInto
in classMappeableContainer
- Parameters:
bits
- a 1024 element array to be interpreted as a bit set
-
removeFrom
public void removeFrom(long[] bits)Description copied from class:MappeableContainer
Computes the intersection of the negation of this container with the bits present in the array, modifying the array.- Specified by:
removeFrom
in classMappeableContainer
- Parameters:
bits
- a 1024 element array to be interpreted as a bit set
-
and
Description copied from class:MappeableContainer
Computes the bitwise AND of this container with another (intersection). This container as well as the provided container are left unaffected.- Specified by:
and
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
and
Description copied from class:MappeableContainer
Computes the bitwise AND of this container with another (intersection). This container as well as the provided container are left unaffected.- Specified by:
and
in classMappeableContainer
- Parameters:
x
- other container- Returns:
- aggregated container
-
and
Description copied from class:MappeableContainer
Computes the bitwise AND of this container with another (intersection). This container as well as the provided container are left unaffected.- Specified by:
and
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
andNot
Description copied from class:MappeableContainer
Computes the bitwise ANDNOT of this container with another (difference). This container as well as the provided container are left unaffected.- Specified by:
andNot
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
andNot
Description copied from class:MappeableContainer
Computes the bitwise ANDNOT of this container with another (difference). This container as well as the provided container are left unaffected.- Specified by:
andNot
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
andNot
Description copied from class:MappeableContainer
Computes the bitwise ANDNOT of this container with another (difference). This container as well as the provided container are left unaffected.- Specified by:
andNot
in classMappeableContainer
- Parameters:
x
- other container- Returns:
- aggregated container
-
clear
public void clear()Description copied from class:MappeableContainer
Empties the container- Specified by:
clear
in classMappeableContainer
-
clone
- Specified by:
clone
in classMappeableContainer
-
contains
public boolean contains(char x)Description copied from class:MappeableContainer
Checks whether the contain contains the provided value- Specified by:
contains
in classMappeableContainer
- Parameters:
x
- value to check- Returns:
- whether the value is in the container
-
contains
Checks whether the container contains the value x.- Parameters:
buf
- underlying bufferposition
- starting position of the container in the ByteBufferx
- target value xcardinality
- container cardinality- Returns:
- whether the container contains the value x
-
equals
-
fillLeastSignificant16bits
public void fillLeastSignificant16bits(int[] x, int i, int mask)Description copied from class:MappeableContainer
Fill the least significant 16 bits of the integer array, starting at index index, with the char values from this container. The caller is responsible to allocate enough room. The most significant 16 bits of each integer are given by the most significant bits of the provided mask.- Specified by:
fillLeastSignificant16bits
in classMappeableContainer
- Parameters:
x
- provided arrayi
- starting indexmask
- indicates most significant bits
-
flip
Description copied from class:MappeableContainer
Add a char to the container if it is not present, otherwise remove it. May generate a new container.- Specified by:
flip
in classMappeableContainer
- Parameters:
x
- char to be added- Returns:
- the new container
-
getArraySizeInBytes
protected int getArraySizeInBytes()Description copied from class:MappeableContainer
Size of the underlying array- Specified by:
getArraySizeInBytes
in classMappeableContainer
- Returns:
- size in bytes
-
getCardinality
public int getCardinality()Description copied from class:MappeableContainer
Computes the distinct number of char values in the container. Can be expected to run in constant time.- Specified by:
getCardinality
in classMappeableContainer
- Returns:
- the cardinality
-
getReverseCharIterator
Description copied from class:MappeableContainer
Iterator to visit the char values in the container in descending order.- Specified by:
getReverseCharIterator
in classMappeableContainer
- Returns:
- iterator
-
getCharIterator
Description copied from class:MappeableContainer
Iterator to visit the char values in the container in ascending order.- Specified by:
getCharIterator
in classMappeableContainer
- Returns:
- iterator
-
getBatchIterator
Description copied from class:MappeableContainer
Gets an iterator to visit the contents of the container in batches- Specified by:
getBatchIterator
in classMappeableContainer
- Returns:
- iterator
-
getSizeInBytes
public int getSizeInBytes()Description copied from class:MappeableContainer
Computes an estimate of the memory usage of this container. The estimate is not meant to be exact.- Specified by:
getSizeInBytes
in classMappeableContainer
- Returns:
- estimated memory usage in bytes
-
hashCode
public int hashCode() -
iadd
Description copied from class:MappeableContainer
Add all chars in [begin,end) using an unsigned interpretation. May generate a new container.- Specified by:
iadd
in classMappeableContainer
- Parameters:
begin
- start of range (inclusive)end
- end of range (exclusive)- Returns:
- the new container
-
iand
Description copied from class:MappeableContainer
Computes the in-place bitwise AND of this container with another (intersection). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
iand
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
iand
Description copied from class:MappeableContainer
Computes the in-place bitwise AND of this container with another (intersection). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
iand
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
iand
Description copied from class:MappeableContainer
Computes the in-place bitwise AND of this container with another (intersection). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
iand
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
iandNot
Description copied from class:MappeableContainer
Computes the in-place bitwise ANDNOT of this container with another (difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
iandNot
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
iandNot
Description copied from class:MappeableContainer
Computes the in-place bitwise ANDNOT of this container with another (difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
iandNot
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
iandNot
Description copied from class:MappeableContainer
Computes the in-place bitwise ANDNOT of this container with another (difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
iandNot
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
inot
Description copied from class:MappeableContainer
Computes the in-place bitwise NOT of this container (complement). Only those bits within the range are affected. The current container is generally modified. May generate a new container.- Specified by:
inot
in classMappeableContainer
- Parameters:
firstOfRange
- beginning of range (inclusive); 0 is beginning of this container.lastOfRange
- ending of range (exclusive)- Returns:
- (partially) completmented container
-
intersects
Description copied from class:MappeableContainer
Returns true if the current container intersects the other container.- Specified by:
intersects
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- whether they intersect
-
intersects
Description copied from class:MappeableContainer
Returns true if the current container intersects the other container.- Specified by:
intersects
in classMappeableContainer
- Parameters:
x
- other container- Returns:
- whether they intersect
-
intersects
Description copied from class:MappeableContainer
Returns true if the current container intersects the other container.- Specified by:
intersects
in classMappeableContainer
- Parameters:
x
- other container- Returns:
- whether they intersect
-
ior
Description copied from class:MappeableContainer
Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
ior
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
ior
Description copied from class:MappeableContainer
Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
ior
in classMappeableContainer
- Parameters:
x
- other container- Returns:
- aggregated container
-
ior
Description copied from class:MappeableContainer
Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
ior
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
iremove
Description copied from class:MappeableContainer
Remove chars in [begin,end) using an unsigned interpretation. May generate a new container.- Specified by:
iremove
in classMappeableContainer
- Parameters:
begin
- start of range (inclusive)end
- end of range (exclusive)- Returns:
- the new container
-
isArrayBacked
protected boolean isArrayBacked()- Specified by:
isArrayBacked
in classMappeableContainer
-
iterator
-
ixor
Description copied from class:MappeableContainer
Computes the in-place bitwise XOR of this container with another (symmetric difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
ixor
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
ixor
Description copied from class:MappeableContainer
Computes the in-place bitwise XOR of this container with another (symmetric difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
ixor
in classMappeableContainer
- Parameters:
x
- other container- Returns:
- aggregated container
-
ixor
Description copied from class:MappeableContainer
Computes the in-place bitwise XOR of this container with another (symmetric difference). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container.- Specified by:
ixor
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
limit
Description copied from class:MappeableContainer
Create a new MappeableContainer containing at most maxcardinality integers.- Specified by:
limit
in classMappeableContainer
- Parameters:
maxcardinality
- maximal cardinality- Returns:
- a new bitmap with cardinality no more than maxcardinality
-
not
Description copied from class:MappeableContainer
Computes the bitwise NOT of this container (complement). Only those bits within the range are affected. The current container is left unaffected.- Specified by:
not
in classMappeableContainer
- Parameters:
firstOfRange
- beginning of range (inclusive); 0 is beginning of this container.lastOfRange
- ending of range (exclusive)- Returns:
- (partially) completmented container
-
or
Description copied from class:MappeableContainer
Computes the bitwise OR of this container with another (union). This container as well as the provided container are left unaffected.- Specified by:
or
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
lazyor
-
or
Description copied from class:MappeableContainer
Computes the bitwise OR of this container with another (union). This container as well as the provided container are left unaffected.- Specified by:
or
in classMappeableContainer
- Parameters:
x
- other container- Returns:
- aggregated container
-
or
Description copied from class:MappeableContainer
Computes the bitwise OR of this container with another (union). This container as well as the provided container are left unaffected.- Specified by:
or
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
or
-
rank
public int rank(char lowbits)Description copied from class:MappeableContainer
Rank returns the number of integers that are smaller or equal to x (Rank(infinity) would be GetCardinality()).- Specified by:
rank
in classMappeableContainer
- Parameters:
lowbits
- upper limit- Returns:
- the rank
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
-
remove
Description copied from class:MappeableContainer
Return a new container with all chars in [begin,end) remove using an unsigned interpretation.- Specified by:
remove
in classMappeableContainer
- Parameters:
begin
- start of range (inclusive)end
- end of range (exclusive)- Returns:
- the new container
-
remove
Description copied from class:MappeableContainer
Remove the char from this container. May create a new container.- Specified by:
remove
in classMappeableContainer
- Parameters:
x
- to be removed- Returns:
- New container
-
repairAfterLazy
Description copied from class:MappeableContainer
The output of a lazyOR or lazyIOR might be an invalid container, this should be called on it.- Specified by:
repairAfterLazy
in classMappeableContainer
- Returns:
- a new valid container
-
runOptimize
Description copied from class:MappeableContainer
Convert to MappeableRunContainers, when the result is smaller. Overridden by MappeableRunContainer to possibly switch from MappeableRunContainer to a smaller alternative.- Specified by:
runOptimize
in interfaceWordStorage<MappeableContainer>
- Specified by:
runOptimize
in classMappeableContainer
- Returns:
- the new container
-
select
public char select(int j)Description copied from class:MappeableContainer
Return the jth value- Specified by:
select
in classMappeableContainer
- Parameters:
j
- index of the value- Returns:
- the value
-
serializedSizeInBytes
public int serializedSizeInBytes()Description copied from class:MappeableContainer
Report the number of bytes required to serialize this container.- Specified by:
serializedSizeInBytes
in classMappeableContainer
- Returns:
- the size in bytes
-
toBitmapContainer
Copies the data in a bitmap container.- Specified by:
toBitmapContainer
in classMappeableContainer
- Returns:
- the bitmap container
-
first
public int first()Description copied from class:MappeableContainer
Get the first integer held in the container- Specified by:
first
in classMappeableContainer
- Returns:
- the first integer in the container
-
last
public int last()Description copied from class:MappeableContainer
Get the last integer held in the container- Specified by:
last
in classMappeableContainer
- Returns:
- the last integer in the container
-
nextValue
public int nextValue(char fromValue)Description copied from class:MappeableContainer
Gets the first value greater than or equal to the lower bound, or -1 if no such value exists.- Specified by:
nextValue
in classMappeableContainer
- Parameters:
fromValue
- the lower bound (inclusive)- Returns:
- the next value
-
previousValue
public int previousValue(char fromValue)Description copied from class:MappeableContainer
Gets the last value less than or equal to the upper bound, or -1 if no such value exists.- Specified by:
previousValue
in classMappeableContainer
- Parameters:
fromValue
- the upper bound (inclusive)- Returns:
- the previous value
-
nextAbsentValue
public int nextAbsentValue(char fromValue)Description copied from class:MappeableContainer
Gets the first absent value greater than or equal to the lower bound.- Specified by:
nextAbsentValue
in classMappeableContainer
- Parameters:
fromValue
- the lower bound (inclusive)- Returns:
- the next absent value
-
previousAbsentValue
public int previousAbsentValue(char fromValue)Description copied from class:MappeableContainer
Gets the last value less than or equal to the upper bound.- Specified by:
previousAbsentValue
in classMappeableContainer
- Parameters:
fromValue
- the upper bound (inclusive)- Returns:
- the previous absent value
-
toContainer
Description copied from class:MappeableContainer
Convert to a non-mappeable container.- Specified by:
toContainer
in classMappeableContainer
- Returns:
- the non-mappeable container
-
toShortArray
public char[] toShortArray()Create a copy of the content of this container as a char array. This creates a copy.- Returns:
- copy of the content as a char array
-
toString
-
trim
public void trim()Description copied from class:MappeableContainer
If possible, recover wasted memory.- Specified by:
trim
in classMappeableContainer
-
writeArray
Description copied from class:MappeableContainer
Write just the underlying array.- Specified by:
writeArray
in classMappeableContainer
- Parameters:
out
- output stream- Throws:
IOException
- in case of failure
-
writeArray
Description copied from class:MappeableContainer
Write just the underlying array.- Specified by:
writeArray
in classMappeableContainer
- Parameters:
buffer
- the buffer to write to
-
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
xor
Description copied from class:MappeableContainer
Computes the bitwise XOR of this container with another (symmetric difference). This container as well as the provided container are left unaffected.- Specified by:
xor
in classMappeableContainer
- Parameters:
value2
- other container- Returns:
- aggregated container
-
xor
Description copied from class:MappeableContainer
Computes the bitwise XOR of this container with another (symmetric difference). This container as well as the provided container are left unaffected.- Specified by:
xor
in classMappeableContainer
- Parameters:
x
- other container- Returns:
- aggregated container
-
xor
Description copied from class:MappeableContainer
Computes the bitwise XOR of this container with another (symmetric difference). This container as well as the provided container are left unaffected.- Specified by:
xor
in classMappeableContainer
- Parameters:
value2
- other parameter- Returns:
- aggregated container
-
xor
-
forEach
Description copied from class:MappeableContainer
Iterate through the values of this container and pass them along to the IntConsumer, using msb as the 16 most significant bits.- Specified by:
forEach
in classMappeableContainer
- Parameters:
msb
- 16 most significant bitsic
- consumer
-
andCardinality
- Specified by:
andCardinality
in classMappeableContainer
-
andCardinality
- Specified by:
andCardinality
in classMappeableContainer
-
andCardinality
- Specified by:
andCardinality
in classMappeableContainer
-
contains
- Specified by:
contains
in classMappeableContainer
-
contains
- Specified by:
contains
in classMappeableContainer
-
contains
- Specified by:
contains
in classMappeableContainer
-
intersects
public boolean intersects(int minimum, int supremum)Description copied from class:MappeableContainer
Checks if the container intersects with a range- Specified by:
intersects
in classMappeableContainer
- Parameters:
minimum
- the inclusive unsigned lower bound of the rangesupremum
- the exclusive unsigned upper bound of the range- Returns:
- true if the container intersects the range
-
contains
public boolean contains(int minimum, int supremum)Description copied from class:MappeableContainer
Checks whether the container contains the entire range- Specified by:
contains
in classMappeableContainer
- Parameters:
minimum
- the inclusive lower bound of the rangesupremum
- the exclusive upper bound of the range- Returns:
- true if the container contains the range
-