public interface ObjLongCursor<K> extends Cursor
Object
keys and
long
values.
Basic ObjLongCursor
usage idiom is:
for (ObjLongCursor<K> 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.
ObjLongCursors
of immutable maps don't support setValue(long)
operation. More about mutability profiles.
ObjLongMap.cursor()
Modifier and Type | Method and Description |
---|---|
void |
forEachForward(ObjLongConsumer<? super K> 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.
|
K |
key()
Returns the key of the entry to which the cursor currently points.
|
void |
setValue(long value)
Replaces the value of the entry to which the cursor currently points (optional operation).
|
long |
value()
Returns the value of the entry to which the cursor currently points.
|
void forEachForward(@Nonnull ObjLongConsumer<? super K> 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 entryK 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 movementlong 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(long 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