Package org.roaringbitmap.longlong
Class HighLowContainer
java.lang.Object
org.roaringbitmap.longlong.HighLowContainer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Art
private Containers
private static final byte
private static final byte
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
void
clear()
clear to be a empty fresh oneget a container iteratorvoid
deserialize
(DataInput dataInput) deserialize from the input byte streamvoid
deserialize
(ByteBuffer buffer) deserialize from the input ByteBuffer in little endianboolean
long
first()
Gets the first value in the arraygetContainer
(long containerIdx) int
hashCode()
get a key iteratorhighKeyLeafNodeIterator
(boolean reverse) highKeyLeafNodeIteratorFrom
(long bound, boolean reverse) boolean
isEmpty()
whether it's emptylong
last()
Gets the last value in the arrayvoid
put the 48 bit key and the corresponding containervoid
remove
(byte[] highPart) Attempt to remove the container that corresponds to the 48 bit key.void
replaceContainer
(long containerIdx, Container container) replace the specified position one with a fresh containersearchContainer
(byte[] highPart) search the container by the given 48 bit high part keyvoid
serialize
(DataOutput dataOutput) serialize into the byte streamvoid
serialize
(ByteBuffer buffer) serialize into the ByteBuffer in little endianlong
serialized size in bytes
-
Field Details
-
art
-
containers
-
EMPTY_TAG
private static final byte EMPTY_TAG- See Also:
-
NOT_EMPTY_TAG
private static final byte NOT_EMPTY_TAG- See Also:
-
-
Constructor Details
-
HighLowContainer
public HighLowContainer()
-
-
Method Details
-
getContainer
-
searchContainer
search the container by the given 48 bit high part key- Parameters:
highPart
- the 48 bit key array- Returns:
- the container with the container index
-
put
put the 48 bit key and the corresponding container- Parameters:
highPart
- the 48 bit keycontainer
- the container
-
remove
public void remove(byte[] highPart) Attempt to remove the container that corresponds to the 48 bit key.- Parameters:
highPart
- the 48 bit key
-
containerIterator
get a container iterator- Returns:
- a container iterator
-
highKeyIterator
get a key iterator- Returns:
- a key iterator
-
highKeyLeafNodeIterator
- Parameters:
reverse
- true ascending order, false: descending order- Returns:
- the leaf node iterator
-
highKeyLeafNodeIteratorFrom
-
replaceContainer
replace the specified position one with a fresh container- Parameters:
containerIdx
- the position of the containercontainer
- the fresh container
-
isEmpty
public boolean isEmpty()whether it's empty- Returns:
- true: empty,false: not empty
-
assertNonEmpty
private void assertNonEmpty() -
first
public long first()Gets the first value in the array- Returns:
- the first value in the array
- Throws:
NoSuchElementException
- if empty
-
last
public long last()Gets the last value in the array- Returns:
- the last value in the array
- Throws:
NoSuchElementException
- if empty
-
serialize
serialize into the ByteBuffer in little endian- Parameters:
buffer
- the ByteBuffer should be large enough to hold the data- Throws:
IOException
- indicate exception happened
-
deserialize
deserialize from the input ByteBuffer in little endian- Parameters:
buffer
- the ByteBuffer- Throws:
IOException
- indicate exception happened
-
serializedSizeInBytes
public long serializedSizeInBytes()serialized size in bytes- Returns:
- the size in bytes
-
serialize
serialize into the byte stream- Parameters:
dataOutput
- the output stream- Throws:
IOException
- indicate the io exception happened
-
deserialize
deserialize from the input byte stream- Parameters:
dataInput
- the input byte stream- Throws:
IOException
- indicate the io exception happened
-
clear
public void clear()clear to be a empty fresh one -
hashCode
public int hashCode() -
equals
-