Class FastListMultimap<K,V>
java.lang.Object
org.eclipse.collections.impl.multimap.AbstractMultimap<K,V,MutableList<V>>
org.eclipse.collections.impl.multimap.AbstractMutableMultimap<K,V,MutableList<V>>
org.eclipse.collections.impl.multimap.list.AbstractMutableListMultimap<K,V>
org.eclipse.collections.impl.multimap.list.FastListMultimap<K,V>
- All Implemented Interfaces:
Externalizable
,Serializable
,ListMultimap<K,
,V> MutableListMultimap<K,
,V> Multimap<K,
,V> MutableMultimap<K,
,V> OrderedIterableMultimap<K,
,V> ReversibleIterableMultimap<K,
V>
public final class FastListMultimap<K,V>
extends AbstractMutableListMultimap<K,V>
implements Externalizable
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private int
private static final long
Fields inherited from class org.eclipse.collections.impl.multimap.AbstractMutableMultimap
map, totalSize
-
Constructor Summary
ConstructorsConstructorDescriptionFastListMultimap
(int distinctKeys, int valuesPerKey) FastListMultimap
(Iterable<Pair<K, V>> inputIterable) FastListMultimap
(Multimap<? extends K, ? extends V> multimap) FastListMultimap
(Pair<K, V>... pairs) -
Method Summary
Modifier and TypeMethodDescriptionprotected MutableList
<V> Creates the collection of values for a single key.protected MutableMap
<K, MutableList<V>> protected MutableMap
<K, MutableList<V>> createMapWithKeyCount
(int keyCount) flip()
Given a Multimap from Domain->
Range return a multimap from Range->
Domain.newEmpty()
Creates a new instance of the same implementation type, using the default capacity and growth parameters.static <K,
V> FastListMultimap <K, V> static <K,
V> FastListMultimap <K, V> newMultimap
(Iterable<Pair<K, V>> inputIterable) static <K,
V> FastListMultimap <K, V> newMultimap
(Multimap<? extends K, ? extends V> multimap) static <K,
V> FastListMultimap <K, V> newMultimap
(Pair<K, V>... pairs) rejectKeysMultiValues
(Predicate2<? super K, ? super RichIterable<V>> predicate) Returns all elements of the source multimap that don't satisfy the predicate.rejectKeysValues
(Predicate2<? super K, ? super V> predicate) Returns all elements of the source multimap that don't satisfy the predicate.selectKeysMultiValues
(Predicate2<? super K, ? super RichIterable<V>> predicate) Returns all elements of the source multimap that satisfies the predicate.selectKeysValues
(Predicate2<? super K, ? super V> predicate) Returns all elements of the source multimap that satisfies the predicate.void
Methods inherited from class org.eclipse.collections.impl.multimap.list.AbstractMutableListMultimap
asSynchronized, collectKeyMultiValues, collectKeysValues, collectValues, forEachKeyMutableList, toImmutable, toMutable
Methods inherited from class org.eclipse.collections.impl.multimap.AbstractMutableMultimap
addToTotalSize, clear, clearTotalSize, decrementTotalSize, get, getIfAbsentPutAll, getMap, incrementTotalSize, isEmpty, keySet, put, putAll, putAll, readExternal, remove, removeAll, replaceValues, size, sizeDistinct, subtractFromTotalSize, toMap, toMap, writeExternal
Methods inherited from class org.eclipse.collections.impl.multimap.AbstractMultimap
collectKeyMultiValues, collectKeysValues, collectValues, containsKey, containsKeyAndValue, containsValue, createCollectionBlock, equals, forEachKey, forEachKeyMultiValues, forEachKeyValue, forEachValue, hashCode, keyBag, keyMultiValuePairsView, keysView, keyValuePairsView, multiValuesView, notEmpty, rejectKeysMultiValues, rejectKeysValues, selectKeysMultiValues, selectKeysValues, toString, valuesView
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.io.Externalizable
readExternal, writeExternal
Methods inherited from interface org.eclipse.collections.api.multimap.Multimap
collectKeyMultiValues, collectKeysValues, collectValues, containsKey, containsKeyAndValue, containsValue, equals, forEachKey, forEachKeyMultiValues, forEachKeyValue, forEachValue, hashCode, isEmpty, keyBag, keyMultiValuePairsView, keySet, keysView, keyValuePairsView, multiValuesView, notEmpty, rejectKeysMultiValues, rejectKeysValues, selectKeysMultiValues, selectKeysValues, size, sizeDistinct, toMap, toMap, valuesView
Methods inherited from interface org.eclipse.collections.api.multimap.list.MutableListMultimap
get, getIfAbsentPutAll, removeAll, replaceValues, withKeyMultiValues, withKeyValue
Methods inherited from interface org.eclipse.collections.api.multimap.MutableMultimap
add, clear, put, putAll, putAll, putAllPairs, putAllPairs, remove
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
DEFAULT_CAPACITY
private static final int DEFAULT_CAPACITY- See Also:
-
initialListCapacity
private int initialListCapacity
-
-
Constructor Details
-
FastListMultimap
public FastListMultimap() -
FastListMultimap
public FastListMultimap(int distinctKeys, int valuesPerKey) -
FastListMultimap
-
FastListMultimap
-
FastListMultimap
-
-
Method Details
-
newMultimap
-
newMultimap
-
newMultimap
-
newMultimap
-
createMap
- Specified by:
createMap
in classAbstractMutableMultimap<K,
V, MutableList<V>>
-
createMapWithKeyCount
- Specified by:
createMapWithKeyCount
in classAbstractMutableMultimap<K,
V, MutableList<V>>
-
createCollection
Description copied from class:AbstractMultimap
Creates the collection of values for a single key.Collections with weak, soft, or phantom references are not supported. Each call to
createCollection
should create a new instance.The returned collection class determines whether duplicate key-value pairs are allowed.
- Specified by:
createCollection
in classAbstractMultimap<K,
V, MutableList<V>> - Returns:
- an empty collection of values
-
trimToSize
public void trimToSize() -
newEmpty
Description copied from interface:Multimap
Creates a new instance of the same implementation type, using the default capacity and growth parameters.- Specified by:
newEmpty
in interfaceListMultimap<K,
V> - Specified by:
newEmpty
in interfaceMultimap<K,
V> - Specified by:
newEmpty
in interfaceMutableListMultimap<K,
V> - Specified by:
newEmpty
in interfaceMutableMultimap<K,
V> - Specified by:
newEmpty
in interfaceOrderedIterableMultimap<K,
V> - Specified by:
newEmpty
in interfaceReversibleIterableMultimap<K,
V>
-
flip
Description copied from interface:Multimap
Given a Multimap from Domain->
Range return a multimap from Range->
Domain. -
selectKeysValues
Description copied from interface:Multimap
Returns all elements of the source multimap that satisfies the predicate. This method is also commonly called filter.e.g. return multimap.selectKeysValues(new Predicate2<Integer, Person>() { public boolean accept(Integer age, Person person) { return (age >= 18) && (person.getAddress().getCity().equals("Metuchen")); } });
- Specified by:
selectKeysValues
in interfaceListMultimap<K,
V> - Specified by:
selectKeysValues
in interfaceMultimap<K,
V> - Specified by:
selectKeysValues
in interfaceMutableListMultimap<K,
V> - Specified by:
selectKeysValues
in interfaceMutableMultimap<K,
V> - Specified by:
selectKeysValues
in interfaceOrderedIterableMultimap<K,
V> - Specified by:
selectKeysValues
in interfaceReversibleIterableMultimap<K,
V> - Parameters:
predicate
- aPredicate2
to use as the select criteria- Returns:
Multimap
, which contains elements as a result of the select criteria
-
rejectKeysValues
Description copied from interface:Multimap
Returns all elements of the source multimap that don't satisfy the predicate.e.g. return multimap.rejectKeysValues(new Predicate2<Integer, Person>() { public boolean accept(Integer age, Person person) { return (age >= 18) && (person.getAddress().getCity().equals("Metuchen")); } });
- Specified by:
rejectKeysValues
in interfaceListMultimap<K,
V> - Specified by:
rejectKeysValues
in interfaceMultimap<K,
V> - Specified by:
rejectKeysValues
in interfaceMutableListMultimap<K,
V> - Specified by:
rejectKeysValues
in interfaceMutableMultimap<K,
V> - Specified by:
rejectKeysValues
in interfaceOrderedIterableMultimap<K,
V> - Specified by:
rejectKeysValues
in interfaceReversibleIterableMultimap<K,
V> - Parameters:
predicate
- aPredicate2
to use as the reject criteria- Returns:
Multimap
, which contains elements that don't satisfy thepredicate
-
selectKeysMultiValues
public FastListMultimap<K,V> selectKeysMultiValues(Predicate2<? super K, ? super RichIterable<V>> predicate) Description copied from interface:Multimap
Returns all elements of the source multimap that satisfies the predicate. This method is also commonly called filter.e.g. return multimap.selectKeysMultiValues(new Predicate2<Integer, Iterable<Person>>() { public boolean accept(Integer age, Iterable<Person> values) { return (age >= 18) && ((RichIterable<Person>)values.size() >= 2); } });
- Specified by:
selectKeysMultiValues
in interfaceListMultimap<K,
V> - Specified by:
selectKeysMultiValues
in interfaceMultimap<K,
V> - Specified by:
selectKeysMultiValues
in interfaceMutableListMultimap<K,
V> - Specified by:
selectKeysMultiValues
in interfaceMutableMultimap<K,
V> - Specified by:
selectKeysMultiValues
in interfaceOrderedIterableMultimap<K,
V> - Specified by:
selectKeysMultiValues
in interfaceReversibleIterableMultimap<K,
V> - Parameters:
predicate
- aPredicate2
to use as the select criteria- Returns:
Multimap
, which contains elements as a result of the select criteria
-
rejectKeysMultiValues
public FastListMultimap<K,V> rejectKeysMultiValues(Predicate2<? super K, ? super RichIterable<V>> predicate) Description copied from interface:Multimap
Returns all elements of the source multimap that don't satisfy the predicate.e.g. return multimap.rejectKeysMultiValues(new Predicate2<Integer, Iterable<Person>>() { public boolean accept(Integer age, Iterable<Person> values) { return (age >= 18) && ((RichIterable<Person>)values.size() >= 2); } });
- Specified by:
rejectKeysMultiValues
in interfaceListMultimap<K,
V> - Specified by:
rejectKeysMultiValues
in interfaceMultimap<K,
V> - Specified by:
rejectKeysMultiValues
in interfaceMutableListMultimap<K,
V> - Specified by:
rejectKeysMultiValues
in interfaceMutableMultimap<K,
V> - Specified by:
rejectKeysMultiValues
in interfaceOrderedIterableMultimap<K,
V> - Specified by:
rejectKeysMultiValues
in interfaceReversibleIterableMultimap<K,
V> - Parameters:
predicate
- aPredicate2
to use as the reject criteria- Returns:
Multimap
, which contains elements that don't satisfy thepredicate
-