public interface LongByteCursor extends Cursor
long
keys and
byte
values.
Basic LongByteCursor
usage idiom is:
for (LongByteCursor 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.
LongByteCursors
of immutable maps don't support setValue(byte)
operation. More about mutability profiles.
LongByteMap.cursor()
Modifier and Type | Method and Description |
---|---|
void |
forEachForward(LongByteConsumer 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.
|
long |
key()
Returns the key of the entry to which the cursor currently points.
|
void |
setValue(byte value)
Replaces the value of the entry to which the cursor currently points (optional operation).
|
byte |
value()
Returns the value of the entry to which the cursor currently points.
|
void forEachForward(@Nonnull LongByteConsumer 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 entrylong 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 movementbyte 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(byte 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