package org.eclipse.collections.api.map.primitive;
import org.eclipse.collections.api.IntIterable;
import org.eclipse.collections.api.block.function.primitive.IntToDoubleFunction;
import org.eclipse.collections.api.block.function.primitive.DoubleFunction;
import org.eclipse.collections.api.block.function.primitive.DoubleFunction0;
import org.eclipse.collections.api.block.function.primitive.DoubleToDoubleFunction;
import org.eclipse.collections.api.block.function.primitive.IntDoubleToDoubleFunction;
import org.eclipse.collections.api.block.predicate.primitive.IntDoublePredicate;
import org.eclipse.collections.api.tuple.primitive.IntDoublePair;
public interface MutableIntDoubleMap extends IntDoubleMap, MutableDoubleValuesMap
{
void put(int key, double value);
default void putPair(IntDoublePair keyValuePair)
{
this.put(keyValuePair.getOne(), keyValuePair.getTwo());
}
void putAll(IntDoubleMap map);
void updateValues(IntDoubleToDoubleFunction function);
void removeKey(int key);
void remove(int key);
double removeKeyIfAbsent(int key, double value);
double getIfAbsentPut(int key, double value);
double getIfAbsentPut(int key, DoubleFunction0 function);
double getIfAbsentPutWithKey(int key, IntToDoubleFunction function);
<P> double getIfAbsentPutWith(int key, DoubleFunction<? super P> function, P parameter);
double updateValue(int key, double initialValueIfAbsent, DoubleToDoubleFunction function);
@Override
MutableDoubleIntMap flipUniqueValues();
@Override
MutableIntDoubleMap select(IntDoublePredicate predicate);
@Override
MutableIntDoubleMap reject(IntDoublePredicate predicate);
MutableIntDoubleMap withKeyValue(int key, double value);
MutableIntDoubleMap withoutKey(int key);
MutableIntDoubleMap withoutAllKeys(IntIterable keys);
default MutableIntDoubleMap withAllKeyValues(Iterable<IntDoublePair> keyValuePairs)
{
for (IntDoublePair keyValuePair : keyValuePairs)
{
this.putPair(keyValuePair);
}
return this;
}
MutableIntDoubleMap asUnmodifiable();
MutableIntDoubleMap asSynchronized();
double addToValue(int key, double toBeAdded);
}