Package org.h2.mvstore
Class Cursor<K,V>
java.lang.Object
org.h2.mvstore.Cursor<K,V>
- Type Parameters:
K
- the key typeV
- the value type
- All Implemented Interfaces:
Iterator<K>
A cursor to iterate over elements in ascending or descending order.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetKey()
Get the last read key if there was one.getPage()
Get the page where last retrieved key is located.getValue()
Get the last read value if there was one.boolean
hasNext()
next()
void
skip
(long n) Skip over that many entries.(package private) static <K,
V> CursorPos <K, V> traverseDown
(Page<K, V> page, K key, boolean reverse) Fetch the next entry that is equal or larger than the given key, starting from the given page.private static <K,
V> int upperBound
(Page<K, V> page) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining, remove
-
Field Details
-
reverse
private final boolean reverse -
to
-
cursorPos
-
keeper
-
current
-
last
-
lastValue
-
lastPage
-
-
Constructor Details
-
Cursor
-
Cursor
- Parameters:
rootReference
- of the treefrom
- starting key (inclusive), if null start from the first / last keyto
- ending key (inclusive), if null there is no boundaryreverse
- true if tree should be iterated in key's descending order
-
-
Method Details
-
hasNext
public boolean hasNext() -
next
-
getKey
Get the last read key if there was one.- Returns:
- the key or null
-
getValue
Get the last read value if there was one.- Returns:
- the value or null
-
getPage
Get the page where last retrieved key is located.- Returns:
- the page
-
skip
public void skip(long n) Skip over that many entries. This method is relatively fast (for this map implementation) even if many entries need to be skipped.- Parameters:
n
- the number of entries to skip
-
traverseDown
Fetch the next entry that is equal or larger than the given key, starting from the given page. This method returns the path.- Type Parameters:
K
- key typeV
- value type- Parameters:
page
- to start from as a rootkey
- to search for, null means search for the first available keyreverse
- true if traversal is in reverse direction, false otherwise- Returns:
- CursorPos representing path from the entry found, or from insertion point if not, all the way up to to the root page provided
-
upperBound
-