com.gs.collections.api.map.MutableOrderedMap Maven / Gradle / Ivy
/*
* Copyright 2015 Goldman Sachs.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.gs.collections.api.map;
import com.gs.collections.api.block.function.Function;
import com.gs.collections.api.block.function.Function0;
import com.gs.collections.api.block.function.Function2;
import com.gs.collections.api.block.function.primitive.BooleanFunction;
import com.gs.collections.api.block.function.primitive.ByteFunction;
import com.gs.collections.api.block.function.primitive.CharFunction;
import com.gs.collections.api.block.function.primitive.DoubleFunction;
import com.gs.collections.api.block.function.primitive.FloatFunction;
import com.gs.collections.api.block.function.primitive.IntFunction;
import com.gs.collections.api.block.function.primitive.LongFunction;
import com.gs.collections.api.block.function.primitive.ShortFunction;
import com.gs.collections.api.block.predicate.Predicate;
import com.gs.collections.api.block.predicate.Predicate2;
import com.gs.collections.api.block.procedure.Procedure;
import com.gs.collections.api.block.procedure.Procedure2;
import com.gs.collections.api.list.MutableList;
import com.gs.collections.api.list.primitive.MutableBooleanList;
import com.gs.collections.api.list.primitive.MutableByteList;
import com.gs.collections.api.list.primitive.MutableCharList;
import com.gs.collections.api.list.primitive.MutableDoubleList;
import com.gs.collections.api.list.primitive.MutableFloatList;
import com.gs.collections.api.list.primitive.MutableIntList;
import com.gs.collections.api.list.primitive.MutableLongList;
import com.gs.collections.api.list.primitive.MutableShortList;
import com.gs.collections.api.multimap.list.MutableListMultimap;
import com.gs.collections.api.partition.list.PartitionMutableList;
import com.gs.collections.api.tuple.Pair;
public interface MutableOrderedMap extends OrderedMap, MutableMapIterable
{
MutableOrderedMap tap(Procedure super V> procedure);
MutableOrderedMap flipUniqueValues();
MutableListMultimap flip();
MutableOrderedMap select(Predicate2 super K, ? super V> predicate);
MutableOrderedMap reject(Predicate2 super K, ? super V> predicate);
MutableOrderedMap collect(Function2 super K, ? super V, Pair> function);
MutableOrderedMap collectValues(Function2 super K, ? super V, ? extends R> function);
MutableOrderedMap toReversed();
MutableOrderedMap take(int count);
MutableOrderedMap takeWhile(Predicate super V> predicate);
MutableOrderedMap drop(int count);
MutableOrderedMap dropWhile(Predicate super V> predicate);
PartitionMutableList partitionWhile(Predicate super V> predicate);
MutableList distinct();
MutableList select(Predicate super V> predicate);
MutableList selectWith(Predicate2 super V, ? super P> predicate, P parameter);
MutableList reject(Predicate super V> predicate);
MutableList rejectWith(Predicate2 super V, ? super P> predicate, P parameter);
PartitionMutableList partition(Predicate super V> predicate);
PartitionMutableList partitionWith(Predicate2 super V, ? super P> predicate, P parameter);
MutableBooleanList collectBoolean(BooleanFunction super V> booleanFunction);
MutableByteList collectByte(ByteFunction super V> byteFunction);
MutableCharList collectChar(CharFunction super V> charFunction);
MutableDoubleList collectDouble(DoubleFunction super V> doubleFunction);
MutableFloatList collectFloat(FloatFunction super V> floatFunction);
MutableIntList collectInt(IntFunction super V> intFunction);
MutableLongList collectLong(LongFunction super V> longFunction);
MutableShortList collectShort(ShortFunction super V> shortFunction);
MutableList> zip(Iterable that);
MutableList> zipWithIndex();
MutableList collectWith(Function2 super V, ? super P, ? extends V1> function, P parameter);
MutableList collectIf(Predicate super V> predicate, Function super V, ? extends V1> function);
MutableList selectInstancesOf(Class clazz);
MutableList flatCollect(Function super V, ? extends Iterable> function);
MutableListMultimap groupBy(Function super V, ? extends V1> function);
MutableListMultimap groupByEach(Function super V, ? extends Iterable> function);
MutableOrderedMap groupByUniqueKey(Function super V, ? extends V1> function);
MutableOrderedMap aggregateInPlaceBy(Function super V, ? extends KK> groupBy, Function0 extends VV> zeroValueFactory, Procedure2 super VV, ? super V> mutatingAggregator);
MutableOrderedMap aggregateBy(Function super V, ? extends KK> groupBy, Function0 extends VV> zeroValueFactory, Function2 super VV, ? super V, ? extends VV> nonMutatingAggregator);
}