org.eclipse.collections.api.map.MutableOrderedMap Maven / Gradle / Ivy
/*
* Copyright (c) 2018 Goldman Sachs and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Eclipse Distribution License v. 1.0 which accompany this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*/
package org.eclipse.collections.api.map;
import java.util.Map;
import org.eclipse.collections.api.block.function.Function;
import org.eclipse.collections.api.block.function.Function2;
import org.eclipse.collections.api.block.function.primitive.BooleanFunction;
import org.eclipse.collections.api.block.function.primitive.ByteFunction;
import org.eclipse.collections.api.block.function.primitive.CharFunction;
import org.eclipse.collections.api.block.function.primitive.DoubleFunction;
import org.eclipse.collections.api.block.function.primitive.FloatFunction;
import org.eclipse.collections.api.block.function.primitive.IntFunction;
import org.eclipse.collections.api.block.function.primitive.LongFunction;
import org.eclipse.collections.api.block.function.primitive.ShortFunction;
import org.eclipse.collections.api.block.predicate.Predicate;
import org.eclipse.collections.api.block.predicate.Predicate2;
import org.eclipse.collections.api.block.procedure.Procedure;
import org.eclipse.collections.api.list.MutableList;
import org.eclipse.collections.api.list.primitive.MutableBooleanList;
import org.eclipse.collections.api.list.primitive.MutableByteList;
import org.eclipse.collections.api.list.primitive.MutableCharList;
import org.eclipse.collections.api.list.primitive.MutableDoubleList;
import org.eclipse.collections.api.list.primitive.MutableFloatList;
import org.eclipse.collections.api.list.primitive.MutableIntList;
import org.eclipse.collections.api.list.primitive.MutableLongList;
import org.eclipse.collections.api.list.primitive.MutableShortList;
import org.eclipse.collections.api.multimap.list.MutableListMultimap;
import org.eclipse.collections.api.partition.list.PartitionMutableList;
import org.eclipse.collections.api.tuple.Pair;
public interface MutableOrderedMap extends OrderedMap, MutableMapIterable
{
@Override
MutableOrderedMap tap(Procedure super V> procedure);
@Override
MutableOrderedMap flipUniqueValues();
@Override
MutableListMultimap flip();
@Override
MutableOrderedMap select(Predicate2 super K, ? super V> predicate);
@Override
MutableOrderedMap reject(Predicate2 super K, ? super V> predicate);
@Override
MutableOrderedMap collect(Function2 super K, ? super V, Pair> function);
@Override
MutableOrderedMap collectValues(Function2 super K, ? super V, ? extends R> function);
@Override
MutableOrderedMap toReversed();
@Override
MutableOrderedMap take(int count);
@Override
MutableOrderedMap takeWhile(Predicate super V> predicate);
@Override
MutableOrderedMap drop(int count);
@Override
MutableOrderedMap dropWhile(Predicate super V> predicate);
@Override
PartitionMutableList partitionWhile(Predicate super V> predicate);
@Override
MutableList distinct();
@Override
MutableList select(Predicate super V> predicate);
@Override
MutableList selectWith(Predicate2 super V, ? super P> predicate, P parameter);
@Override
MutableList reject(Predicate super V> predicate);
@Override
MutableList rejectWith(Predicate2 super V, ? super P> predicate, P parameter);
@Override
PartitionMutableList partition(Predicate super V> predicate);
@Override
PartitionMutableList partitionWith(Predicate2 super V, ? super P> predicate, P parameter);
@Override
MutableBooleanList collectBoolean(BooleanFunction super V> booleanFunction);
@Override
MutableByteList collectByte(ByteFunction super V> byteFunction);
@Override
MutableCharList collectChar(CharFunction super V> charFunction);
@Override
MutableDoubleList collectDouble(DoubleFunction super V> doubleFunction);
@Override
MutableFloatList collectFloat(FloatFunction super V> floatFunction);
@Override
MutableIntList collectInt(IntFunction super V> intFunction);
@Override
MutableLongList collectLong(LongFunction super V> longFunction);
@Override
MutableShortList collectShort(ShortFunction super V> shortFunction);
@Override
MutableList> zip(Iterable that);
@Override
MutableList> zipWithIndex();
@Override
MutableList collect(Function super V, ? extends VV> function);
@Override
MutableList collectWith(Function2 super V, ? super P, ? extends V1> function, P parameter);
@Override
MutableList collectIf(Predicate super V> predicate, Function super V, ? extends V1> function);
@Override
MutableList selectInstancesOf(Class clazz);
@Override
MutableList flatCollect(Function super V, ? extends Iterable> function);
/**
* @since 9.2
*/
@Override
default MutableList flatCollectWith(Function2 super V, ? super P, ? extends Iterable> function, P parameter)
{
return this.flatCollect(each -> function.apply(each, parameter));
}
@Override
MutableListMultimap groupBy(Function super V, ? extends V1> function);
@Override
MutableListMultimap groupByEach(Function super V, ? extends Iterable> function);
@Override
MutableOrderedMap groupByUniqueKey(Function super V, ? extends V1> function);
@Override
MutableOrderedMap withKeyValue(K key, V value);
@Override
default MutableOrderedMap withMap(Map extends K, ? extends V> map)
{
this.putAll(map);
return this;
}
@Override
MutableOrderedMap withAllKeyValues(Iterable extends Pair extends K, ? extends V>> keyValues);
@Override
MutableOrderedMap withAllKeyValueArguments(Pair extends K, ? extends V>... keyValuePairs);
@Override
MutableOrderedMap withoutKey(K key);
@Override
MutableOrderedMap withoutAllKeys(Iterable extends K> keys);
@Override
MutableOrderedMap asUnmodifiable();
}