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