public interface FloatDoubleCursor extends Cursor
float
keys and
double
values.
Basic FloatDoubleCursor
usage idiom is:
for (FloatDoubleCursor 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.
FloatDoubleCursors
of immutable maps don't support setValue(double)
operation. More about mutability profiles.
FloatDoubleMap.cursor()
Modifier and Type | Method and Description |
---|---|
void |
forEachForward(FloatDoubleConsumer 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.
|
float |
key()
Returns the key of the entry to which the cursor currently points.
|
void |
setValue(double value)
Replaces the value of the entry to which the cursor currently points (optional operation).
|
double |
value()
Returns the value of the entry to which the cursor currently points.
|
void forEachForward(@Nonnull FloatDoubleConsumer 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 entryfloat 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 movementdouble 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(double 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