package org.eclipse.collections.api.map.primitive;
import org.eclipse.collections.api.CharIterable;
import org.eclipse.collections.api.block.function.primitive.CharToDoubleFunction;
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.CharDoubleToDoubleFunction;
import org.eclipse.collections.api.block.predicate.primitive.CharDoublePredicate;
import org.eclipse.collections.api.tuple.primitive.CharDoublePair;
public interface MutableCharDoubleMap extends CharDoubleMap, MutableDoubleValuesMap
{
void put(char key, double value);
default void putPair(CharDoublePair keyValuePair)
{
this.put(keyValuePair.getOne(), keyValuePair.getTwo());
}
void putAll(CharDoubleMap map);
void updateValues(CharDoubleToDoubleFunction function);
void removeKey(char key);
void remove(char key);
double removeKeyIfAbsent(char key, double value);
double getIfAbsentPut(char key, double value);
double getIfAbsentPut(char key, DoubleFunction0 function);
double getIfAbsentPutWithKey(char key, CharToDoubleFunction function);
<P> double getIfAbsentPutWith(char key, DoubleFunction<? super P> function, P parameter);
double updateValue(char key, double initialValueIfAbsent, DoubleToDoubleFunction function);
@Override
MutableDoubleCharMap flipUniqueValues();
@Override
MutableCharDoubleMap select(CharDoublePredicate predicate);
@Override
MutableCharDoubleMap reject(CharDoublePredicate predicate);
MutableCharDoubleMap withKeyValue(char key, double value);
MutableCharDoubleMap withoutKey(char key);
MutableCharDoubleMap withoutAllKeys(CharIterable keys);
default MutableCharDoubleMap withAllKeyValues(Iterable<CharDoublePair> keyValuePairs)
{
for (CharDoublePair keyValuePair : keyValuePairs)
{
this.putPair(keyValuePair);
}
return this;
}
MutableCharDoubleMap asUnmodifiable();
MutableCharDoubleMap asSynchronized();
double addToValue(char key, double toBeAdded);
}