package org.eclipse.collections.api.map.primitive;
import org.eclipse.collections.api.LongIterable;
import org.eclipse.collections.api.block.function.primitive.LongFunction;
import org.eclipse.collections.api.block.function.primitive.LongFunction0;
import org.eclipse.collections.api.block.function.primitive.LongToLongFunction;
import org.eclipse.collections.api.block.function.primitive.LongLongToLongFunction;
import org.eclipse.collections.api.block.predicate.primitive.LongLongPredicate;
import org.eclipse.collections.api.tuple.primitive.LongLongPair;
public interface MutableLongLongMap extends LongLongMap, MutableLongValuesMap
{
void put(long key, long value);
default void putPair(LongLongPair keyValuePair)
{
this.put(keyValuePair.getOne(), keyValuePair.getTwo());
}
void putAll(LongLongMap map);
void updateValues(LongLongToLongFunction function);
void removeKey(long key);
void remove(long key);
long removeKeyIfAbsent(long key, long value);
long getIfAbsentPut(long key, long value);
long getIfAbsentPut(long key, LongFunction0 function);
long getIfAbsentPutWithKey(long key, LongToLongFunction function);
<P> long getIfAbsentPutWith(long key, LongFunction<? super P> function, P parameter);
long updateValue(long key, long initialValueIfAbsent, LongToLongFunction function);
@Override
MutableLongLongMap flipUniqueValues();
@Override
MutableLongLongMap select(LongLongPredicate predicate);
@Override
MutableLongLongMap reject(LongLongPredicate predicate);
MutableLongLongMap withKeyValue(long key, long value);
MutableLongLongMap withoutKey(long key);
MutableLongLongMap withoutAllKeys(LongIterable keys);
default MutableLongLongMap withAllKeyValues(Iterable<LongLongPair> keyValuePairs)
{
for (LongLongPair keyValuePair : keyValuePairs)
{
this.putPair(keyValuePair);
}
return this;
}
MutableLongLongMap asUnmodifiable();
MutableLongLongMap asSynchronized();
long addToValue(long key, long toBeAdded);
}