public interface ByteObjCursor<V> extends Cursor
byte
keys and
Object
values.
Basic ByteObjCursor
usage idiom is:
for (ByteObjCursor<V> cur = map.cursor(); cur.moveNext();) {
// Work with cur.key() and cur.value()
// Call cur.remove() to remove the current entry
}
See the comparison of iteration ways in the library.
ByteObjCursors
of immutable maps don't support setValue(Object)
operation. More about mutability profiles.
ByteObjMap.cursor()
Modifier and Type | Method and Description |
---|---|
void |
forEachForward(ByteObjConsumer<? super V> action)
Performs the given action for each entry of the iteration after the cursor in forward
direction until all entries have been processed or the action throws an exception.
|
byte |
key()
Returns the key of the entry to which the cursor currently points.
|
void |
setValue(V value)
Replaces the value of the entry to which the cursor currently points (optional operation).
|
V |
value()
Returns the value of the entry to which the cursor currently points.
|
void forEachForward(@Nonnull ByteObjConsumer<? super V> action)
cur.forEachForward(action)
is exact equivalent of
while (cur.moveNext())
action.accept(cur.key(), cur.value());
action
- the action to be performed for each entrybyte key()
Throws IllegalStateException
, if the cursor isn't pointing to any entry: if it
is in front of the first entry, after the last, or the current entry has been removed
using Cursor.remove()
operation.
IllegalStateException
- if this cursor is initially in front of the first entry
and Cursor.moveNext()
hasn't been called yet,
or the previous call of moveNext
returned false
,
or remove()
has been performed after the previous cursor movementV value()
Throws IllegalStateException
, if the cursor isn't pointing to any entry: if it
is in front of the first entry, after the last, or the current entry has been removed
using Cursor.remove()
operation.
IllegalStateException
- if this cursor is initially in front of the first entry
and Cursor.moveNext()
hasn't been called yet,
or the previous call of moveNext
returned false
,
or remove()
has been performed after the previous cursor movementvoid setValue(V value)
Throws IllegalStateException
if the cursor isn't pointing to any entry: if it
is in front of the first entry, after the last, or the current entry has been removed
using Cursor.remove()
operation.
value
- new value to be stored in the entry to which the cursor currently pointsUnsupportedOperationException
- if the setValue
operation is not supported
by this cursorIllegalArgumentException
- if some property this value prevents it from being stored
in the entries of the iterationIllegalStateException
- if this cursor is initially in front of the first entry
and Cursor.moveNext()
hasn't been called yet,
or the previous call of moveNext
returned false
,
or remove()
has been performed after the previous cursor movement