类 LeafNode

java.lang.Object
org.bitlap.roaringbitmap.art.Node
org.bitlap.roaringbitmap.art.LeafNode

public class LeafNode extends Node
  • 字段详细资料

    • LEAF_NODE_KEY_LENGTH_IN_BYTES

      public static final int LEAF_NODE_KEY_LENGTH_IN_BYTES
      另请参阅:
  • 构造器详细资料

    • LeafNode

      public LeafNode(byte[] key, long containerIdx)
      constructor
      参数:
      key - the 48 bit
      containerIdx - the corresponding container index
    • LeafNode

      public LeafNode(long key, long containerIdx)
      constructor
      参数:
      key - a long value ,only the high 48 bit is valuable
      containerIdx - the corresponding container index
  • 方法详细资料

    • serializeNodeBody

      public void serializeNodeBody(DataOutput dataOutput) throws IOException
      抛出:
      IOException
    • serializeNodeBody

      public void serializeNodeBody(ByteBuffer byteBuffer) throws IOException
      抛出:
      IOException
    • deserializeNodeBody

      public void deserializeNodeBody(DataInput dataInput) throws IOException
      抛出:
      IOException
    • deserializeNodeBody

      public void deserializeNodeBody(ByteBuffer byteBuffer) throws IOException
      抛出:
      IOException
    • serializeNodeBodySizeInBytes

      public int serializeNodeBodySizeInBytes()
      从类复制的说明: Node
      the serialized size except the common node header part
      指定者:
      serializeNodeBodySizeInBytes 在类中 Node
      返回:
      the size in bytes
    • getChildPos

      public int getChildPos(byte k)
      从类复制的说明: Node
      get the position of a child corresponding to the input key 'k'
      指定者:
      getChildPos 在类中 Node
      参数:
      k - a key value of the byte range
      返回:
      the child position corresponding to the key 'k'
    • getNearestChildPos

      public org.bitlap.roaringbitmap.art.SearchResult getNearestChildPos(byte key)
      从类复制的说明: Node
      get the position of a child corresponding to the input key 'k' if present if 'k' is not in the child, return the positions of the neighbouring nodes instead
      指定者:
      getNearestChildPos 在类中 Node
      参数:
      key - a key value of the byte range
      返回:
      a result indicating whether or not the key was found and the positions of the child corresponding to it or its neighbours
    • getChildKey

      public byte getChildKey(int pos)
      从类复制的说明: Node
      get the corresponding key byte of the requested position
      指定者:
      getChildKey 在类中 Node
      参数:
      pos - the position
      返回:
      the corresponding key byte
    • getChild

      public Node getChild(int pos)
      从类复制的说明: Node
      get the child at the specified position in the node, the 'pos' range from 0 to count
      指定者:
      getChild 在类中 Node
      参数:
      pos - the position
      返回:
      a Node corresponding to the input position
    • replaceNode

      public void replaceNode(int pos, Node freshOne)
      从类复制的说明: Node
      replace the position child to the fresh one
      指定者:
      replaceNode 在类中 Node
      参数:
      pos - the position
      freshOne - the fresh node to replace the old one
    • getMinPos

      public int getMinPos()
      从类复制的说明: Node
      get the position of the min element in current node.
      指定者:
      getMinPos 在类中 Node
      返回:
      the minimum key's position
    • getNextLargerPos

      public int getNextLargerPos(int pos)
      从类复制的说明: Node
      get the next position in the node
      指定者:
      getNextLargerPos 在类中 Node
      参数:
      pos - current position,-1 to start from the min one
      返回:
      the next larger byte key's position which is close to 'pos' position,-1 for end
    • getMaxPos

      public int getMaxPos()
      从类复制的说明: Node
      get the max child's position
      指定者:
      getMaxPos 在类中 Node
      返回:
      the max byte key's position
    • getNextSmallerPos

      public int getNextSmallerPos(int pos)
      从类复制的说明: Node
      get the next smaller element's position
      指定者:
      getNextSmallerPos 在类中 Node
      参数:
      pos - the position,-1 to start from the largest one
      返回:
      the next smaller key's position which is close to input 'pos' position,-1 for end
    • remove

      public Node remove(int pos)
      从类复制的说明: Node
      remove the specified position child
      指定者:
      remove 在类中 Node
      参数:
      pos - the position to remove
      返回:
      an adaptive changed fresh node of the current node
    • replaceChildren

      public void replaceChildren(Node[] children)
    • getContainerIdx

      public long getContainerIdx()
    • getKeyBytes

      public byte[] getKeyBytes()