Package org.roaringbitmap.art
Class Containers
- java.lang.Object
-
- org.roaringbitmap.art.Containers
-
public class Containers extends java.lang.Object
To support the largest 2^48 different keys,we almost need 2^18 Container arrays which holds 2^31 - 8 Container
-
-
Constructor Summary
Constructors Constructor Description Containers()
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
addContainer(Container container)
add a Containervoid
deserialize(java.io.DataInput dataInput)
Deserialize the byte stream to init this Containersvoid
deserialize(java.nio.ByteBuffer byteBuffer)
Deserialize the byte stream to init this ContainersContainer
getContainer(long idx)
get the Container with the corresponding container indexlong
getContainerSize()
the number of all the holding containersContainerIterator
iterator()
a iterator of the Containersvoid
remove(long containerIdx)
remove the container index Containervoid
replace(int firstLevelIdx, int secondLevelIdx, Container freshContainer)
replace with a fresh Containervoid
replace(long containerIdx, Container freshContainer)
replace the container index one with a fresh Containervoid
serialize(java.io.DataOutput dataOutput)
Serialize the Containersvoid
serialize(java.nio.ByteBuffer byteBuffer)
Serialize the Containerslong
serializedSizeInBytes()
Report the number of bytes required for serialization.
-
-
-
Method Detail
-
remove
public void remove(long containerIdx)
remove the container index Container- Parameters:
containerIdx
- the container index
-
getContainer
public Container getContainer(long idx)
get the Container with the corresponding container index- Parameters:
idx
- the container index- Returns:
- the corresponding Container
-
addContainer
public long addContainer(Container container)
add a Container- Parameters:
container
- a Container- Returns:
- the container index
-
iterator
public ContainerIterator iterator()
a iterator of the Containers- Returns:
- a iterator
-
replace
public void replace(long containerIdx, Container freshContainer)
replace the container index one with a fresh Container- Parameters:
containerIdx
- the container index to replacefreshContainer
- the fresh one
-
replace
public void replace(int firstLevelIdx, int secondLevelIdx, Container freshContainer)
replace with a fresh Container- Parameters:
firstLevelIdx
- the first level array indexsecondLevelIdx
- the second level array indexfreshContainer
- a fresh container
-
getContainerSize
public long getContainerSize()
the number of all the holding containers- Returns:
- the container number
-
serializedSizeInBytes
public long serializedSizeInBytes()
Report the number of bytes required for serialization.- Returns:
- The size in bytes
-
serialize
public void serialize(java.io.DataOutput dataOutput) throws java.io.IOException
Serialize the Containers- Parameters:
dataOutput
- The destination DataOutput- Throws:
java.io.IOException
- Signals that an I/O exception has occurred.
-
serialize
public void serialize(java.nio.ByteBuffer byteBuffer) throws java.io.IOException
Serialize the Containers- Parameters:
byteBuffer
- The destination ByteBuffer- Throws:
java.io.IOException
- Signals that an I/O exception has occurred.
-
deserialize
public void deserialize(java.io.DataInput dataInput) throws java.io.IOException
Deserialize the byte stream to init this Containers- Parameters:
dataInput
- The DataInput- Throws:
java.io.IOException
- Signals that an I/O exception has occurred.
-
deserialize
public void deserialize(java.nio.ByteBuffer byteBuffer) throws java.io.IOException
Deserialize the byte stream to init this Containers- Parameters:
byteBuffer
- The DataInput- Throws:
java.io.IOException
- Signals that an I/O exception has occurred.
-
-