java.lang.Object
org.bitlap.roaringbitmap.art.Art
See: https://db.in.tum.de/~leis/papers/ART.pdf a cpu cache friendly main memory data structure.
At our case, the LeafNode's key is always 48 bit size. The high 48 bit keys here are compared
using the byte dictionary comparison.
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voiddeserializeArt(DataInput dataInput) voiddeserializeArt(ByteBuffer byteBuffer) longfindByKey(byte[] key) first()longgetRoot()voidinsert(byte[] key, long containerIdx) insert the 48 bit key and the corresponding containerIdxbooleanisEmpty()iterator(Containers containers) a convenient method to traverse the key space in ascending order.last()leafNodeIterator(boolean reverse, Containers containers) leafNodeIteratorFrom(long bound, boolean reverse, Containers containers) longremove(byte[] key) remove the key from the art if it's there.protected org.bitlap.roaringbitmap.art.Art.ToolkitremoveSpecifyKey(Node node, byte[] key, int dep) voidserializeArt(DataOutput dataOutput) voidserializeArt(ByteBuffer byteBuffer) long
-
构造器详细资料
-
Art
public Art()
-
-
方法详细资料
-
isEmpty
public boolean isEmpty() -
insert
public void insert(byte[] key, long containerIdx) insert the 48 bit key and the corresponding containerIdx- 参数:
key- the high 48 bit of the long datacontainerIdx- the container index
-
findByKey
public long findByKey(byte[] key) - 参数:
key- the high 48 bit of the long data- 返回:
- the key's corresponding containerIdx
-
iterator
a convenient method to traverse the key space in ascending order.- 参数:
containers- input containers- 返回:
- the key iterator
-
remove
public long remove(byte[] key) remove the key from the art if it's there.- 参数:
key- the high 48 bit key- 返回:
- the corresponding containerIdx or -1 indicating not exist
-
removeSpecifyKey
-
getRoot
-
first
-
last
-
serializeArt
- 抛出:
IOException
-
deserializeArt
- 抛出:
IOException
-
serializeArt
- 抛出:
IOException
-
deserializeArt
- 抛出:
IOException
-
leafNodeIterator
-
leafNodeIteratorFrom
-
serializeSizeInBytes
public long serializeSizeInBytes() -
getKeySize
public long getKeySize()
-