package org.eclipse.collections.api.map.primitive;
import org.eclipse.collections.api.IntIterable;
import org.eclipse.collections.api.block.function.primitive.IntToByteFunction;
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.IntByteToByteFunction;
import org.eclipse.collections.api.block.predicate.primitive.IntBytePredicate;
import org.eclipse.collections.api.tuple.primitive.IntBytePair;
public interface MutableIntByteMap extends IntByteMap, MutableByteValuesMap
{
void put(int key, byte value);
default void putPair(IntBytePair keyValuePair)
{
this.put(keyValuePair.getOne(), keyValuePair.getTwo());
}
void putAll(IntByteMap map);
void updateValues(IntByteToByteFunction function);
void removeKey(int key);
void remove(int key);
byte removeKeyIfAbsent(int key, byte value);
byte getIfAbsentPut(int key, byte value);
byte getIfAbsentPut(int key, ByteFunction0 function);
byte getIfAbsentPutWithKey(int key, IntToByteFunction function);
<P> byte getIfAbsentPutWith(int key, ByteFunction<? super P> function, P parameter);
byte updateValue(int key, byte initialValueIfAbsent, ByteToByteFunction function);
@Override
MutableByteIntMap flipUniqueValues();
@Override
MutableIntByteMap select(IntBytePredicate predicate);
@Override
MutableIntByteMap reject(IntBytePredicate predicate);
MutableIntByteMap withKeyValue(int key, byte value);
MutableIntByteMap withoutKey(int key);
MutableIntByteMap withoutAllKeys(IntIterable keys);
default MutableIntByteMap withAllKeyValues(Iterable<IntBytePair> keyValuePairs)
{
for (IntBytePair keyValuePair : keyValuePairs)
{
this.putPair(keyValuePair);
}
return this;
}
MutableIntByteMap asUnmodifiable();
MutableIntByteMap asSynchronized();
byte addToValue(int key, byte toBeAdded);
}