Package org.roaringbitmap.art
Class Containers
- java.lang.Object
-
- org.roaringbitmap.art.Containers
-
public class Containers extends java.lang.ObjectTo 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 longaddContainer(Container container)add a Containervoiddeserialize(java.io.DataInput dataInput)Deserialize the byte stream to init this Containersvoiddeserialize(java.nio.ByteBuffer byteBuffer)Deserialize the byte stream to init this ContainersContainergetContainer(long idx)get the Container with the corresponding container indexlonggetContainerSize()the number of all the holding containersContainerIteratoriterator()a iterator of the Containersvoidremove(long containerIdx)remove the container index Containervoidreplace(int firstLevelIdx, int secondLevelIdx, Container freshContainer)replace with a fresh Containervoidreplace(long containerIdx, Container freshContainer)replace the container index one with a fresh Containervoidserialize(java.io.DataOutput dataOutput)Serialize the Containersvoidserialize(java.nio.ByteBuffer byteBuffer)Serialize the ContainerslongserializedSizeInBytes()Report the number of bytes required for serialization.voidtrim()
-
-
-
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.IOExceptionSerialize 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.IOExceptionSerialize 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.IOExceptionDeserialize 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.IOExceptionDeserialize the byte stream to init this Containers- Parameters:
byteBuffer- The DataInput- Throws:
java.io.IOException- Signals that an I/O exception has occurred.
-
trim
public void trim()
-
-