package org.eclipse.collections.api.map.primitive;
import org.eclipse.collections.api.ByteIterable;
import org.eclipse.collections.api.block.function.primitive.ByteFunction;
import org.eclipse.collections.api.block.function.primitive.ByteFunction0;
import org.eclipse.collections.api.block.function.primitive.ByteToByteFunction;
import org.eclipse.collections.api.block.function.primitive.ByteByteToByteFunction;
import org.eclipse.collections.api.block.predicate.primitive.ByteBytePredicate;
import org.eclipse.collections.api.tuple.primitive.ByteBytePair;
public interface MutableByteByteMap extends ByteByteMap, MutableByteValuesMap
{
void put(byte key, byte value);
default void putPair(ByteBytePair keyValuePair)
{
this.put(keyValuePair.getOne(), keyValuePair.getTwo());
}
void putAll(ByteByteMap map);
void updateValues(ByteByteToByteFunction function);
void removeKey(byte key);
void remove(byte key);
byte removeKeyIfAbsent(byte key, byte value);
byte getIfAbsentPut(byte key, byte value);
byte getIfAbsentPut(byte key, ByteFunction0 function);
byte getIfAbsentPutWithKey(byte key, ByteToByteFunction function);
<P> byte getIfAbsentPutWith(byte key, ByteFunction<? super P> function, P parameter);
byte updateValue(byte key, byte initialValueIfAbsent, ByteToByteFunction function);
@Override
MutableByteByteMap flipUniqueValues();
@Override
MutableByteByteMap select(ByteBytePredicate predicate);
@Override
MutableByteByteMap reject(ByteBytePredicate predicate);
MutableByteByteMap withKeyValue(byte key, byte value);
MutableByteByteMap withoutKey(byte key);
MutableByteByteMap withoutAllKeys(ByteIterable keys);
default MutableByteByteMap withAllKeyValues(Iterable<ByteBytePair> keyValuePairs)
{
for (ByteBytePair keyValuePair : keyValuePairs)
{
this.putPair(keyValuePair);
}
return this;
}
MutableByteByteMap asUnmodifiable();
MutableByteByteMap asSynchronized();
byte addToValue(byte key, byte toBeAdded);
}