package org.eclipse.collections.api.map.primitive;
import org.eclipse.collections.api.LongIterable;
import org.eclipse.collections.api.block.function.primitive.LongToIntFunction;
import org.eclipse.collections.api.block.function.primitive.IntFunction;
import org.eclipse.collections.api.block.function.primitive.IntFunction0;
import org.eclipse.collections.api.block.function.primitive.IntToIntFunction;
import org.eclipse.collections.api.block.function.primitive.LongIntToIntFunction;
import org.eclipse.collections.api.block.predicate.primitive.LongIntPredicate;
import org.eclipse.collections.api.tuple.primitive.LongIntPair;
public interface MutableLongIntMap extends LongIntMap, MutableIntValuesMap
{
void put(long key, int value);
default void putPair(LongIntPair keyValuePair)
{
this.put(keyValuePair.getOne(), keyValuePair.getTwo());
}
void putAll(LongIntMap map);
void updateValues(LongIntToIntFunction function);
void removeKey(long key);
void remove(long key);
int removeKeyIfAbsent(long key, int value);
int getIfAbsentPut(long key, int value);
int getIfAbsentPut(long key, IntFunction0 function);
int getIfAbsentPutWithKey(long key, LongToIntFunction function);
<P> int getIfAbsentPutWith(long key, IntFunction<? super P> function, P parameter);
int updateValue(long key, int initialValueIfAbsent, IntToIntFunction function);
@Override
MutableIntLongMap flipUniqueValues();
@Override
MutableLongIntMap select(LongIntPredicate predicate);
@Override
MutableLongIntMap reject(LongIntPredicate predicate);
MutableLongIntMap withKeyValue(long key, int value);
MutableLongIntMap withoutKey(long key);
MutableLongIntMap withoutAllKeys(LongIterable keys);
default MutableLongIntMap withAllKeyValues(Iterable<LongIntPair> keyValuePairs)
{
for (LongIntPair keyValuePair : keyValuePairs)
{
this.putPair(keyValuePair);
}
return this;
}
MutableLongIntMap asUnmodifiable();
MutableLongIntMap asSynchronized();
int addToValue(long key, int toBeAdded);
}