Class MultiReaderFastListMultimap<K,V>
- java.lang.Object
-
- org.eclipse.collections.impl.multimap.AbstractMultimap<K,V,C>
-
- 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.MultiReaderFastListMultimap<K,V>
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,ListMultimap<K,V>
,MutableListMultimap<K,V>
,Multimap<K,V>
,MutableMultimap<K,V>
,OrderedIterableMultimap<K,V>
,ReversibleIterableMultimap<K,V>
public final class MultiReaderFastListMultimap<K,V> extends AbstractMutableListMultimap<K,V> implements java.io.Externalizable
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static int
DEFAULT_CAPACITY
private int
initialListCapacity
private static long
serialVersionUID
-
Fields inherited from class org.eclipse.collections.impl.multimap.AbstractMutableMultimap
map, totalSize
-
-
Constructor Summary
Constructors Constructor Description MultiReaderFastListMultimap()
MultiReaderFastListMultimap(int distinctKeys, int valuesPerKey)
MultiReaderFastListMultimap(java.lang.Iterable<Pair<K,V>> inputIterable)
MultiReaderFastListMultimap(Multimap<? extends K,? extends V> multimap)
MultiReaderFastListMultimap(Pair<K,V>... pairs)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MutableList<V>
createCollection()
Creates the collection of values for a single key.protected MutableMap<K,MutableList<V>>
createMap()
protected MutableMap<K,MutableList<V>>
createMapWithKeyCount(int keyCount)
MutableBagMultimap<V,K>
flip()
Given a Multimap from Domain->
Range return a multimap from Range->
Domain.MultiReaderFastListMultimap<K,V>
newEmpty()
Creates a new instance of the same implementation type, using the default capacity and growth parameters.static <K,V>
MultiReaderFastListMultimap<K,V>newMultimap()
static <K,V>
MultiReaderFastListMultimap<K,V>newMultimap(java.lang.Iterable<Pair<K,V>> inputIterable)
static <K,V>
MultiReaderFastListMultimap<K,V>newMultimap(Multimap<? extends K,? extends V> multimap)
static <K,V>
MultiReaderFastListMultimap<K,V>newMultimap(Pair<K,V>... pairs)
FastListMultimap<K,V>
rejectKeysMultiValues(Predicate2<? super K,? super RichIterable<V>> predicate)
Returns all elements of the source multimap that don't satisfy the predicate.FastListMultimap<K,V>
rejectKeysValues(Predicate2<? super K,? super V> predicate)
Returns all elements of the source multimap that don't satisfy the predicate.FastListMultimap<K,V>
selectKeysMultiValues(Predicate2<? super K,? super RichIterable<V>> predicate)
Returns all elements of the source multimap that satisfies the predicate.FastListMultimap<K,V>
selectKeysValues(Predicate2<? super K,? super V> predicate)
Returns all elements of the source multimap that satisfies the predicate.-
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 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 Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
DEFAULT_CAPACITY
private static final int DEFAULT_CAPACITY
- See Also:
- Constant Field Values
-
initialListCapacity
private int initialListCapacity
-
-
Method Detail
-
newMultimap
public static <K,V> MultiReaderFastListMultimap<K,V> newMultimap()
-
newMultimap
public static <K,V> MultiReaderFastListMultimap<K,V> newMultimap(Multimap<? extends K,? extends V> multimap)
-
newMultimap
public static <K,V> MultiReaderFastListMultimap<K,V> newMultimap(Pair<K,V>... pairs)
-
newMultimap
public static <K,V> MultiReaderFastListMultimap<K,V> newMultimap(java.lang.Iterable<Pair<K,V>> inputIterable)
-
createMap
protected MutableMap<K,MutableList<V>> createMap()
- Specified by:
createMap
in classAbstractMutableMultimap<K,V,MutableList<V>>
-
createMapWithKeyCount
protected MutableMap<K,MutableList<V>> createMapWithKeyCount(int keyCount)
- Specified by:
createMapWithKeyCount
in classAbstractMutableMultimap<K,V,MutableList<V>>
-
createCollection
protected 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
-
newEmpty
public MultiReaderFastListMultimap<K,V> 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
public MutableBagMultimap<V,K> flip()
Description copied from interface:Multimap
Given a Multimap from Domain->
Range return a multimap from Range->
Domain.
-
selectKeysValues
public FastListMultimap<K,V> selectKeysValues(Predicate2<? super K,? super 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.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
public FastListMultimap<K,V> rejectKeysValues(Predicate2<? super K,? super V> predicate)
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
-
-