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 intDEFAULT_CAPACITYprivate intinitialListCapacityprivate static longserialVersionUID-
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:
createMapin classAbstractMutableMultimap<K,V,MutableList<V>>
-
createMapWithKeyCount
protected MutableMap<K,MutableList<V>> createMapWithKeyCount(int keyCount)
- Specified by:
createMapWithKeyCountin classAbstractMutableMultimap<K,V,MutableList<V>>
-
createCollection
protected MutableList<V> createCollection()
Description copied from class:AbstractMultimapCreates the collection of values for a single key.Collections with weak, soft, or phantom references are not supported. Each call to
createCollectionshould create a new instance.The returned collection class determines whether duplicate key-value pairs are allowed.
- Specified by:
createCollectionin classAbstractMultimap<K,V,MutableList<V>>- Returns:
- an empty collection of values
-
newEmpty
public MultiReaderFastListMultimap<K,V> newEmpty()
Description copied from interface:MultimapCreates a new instance of the same implementation type, using the default capacity and growth parameters.- Specified by:
newEmptyin interfaceListMultimap<K,V>- Specified by:
newEmptyin interfaceMultimap<K,V>- Specified by:
newEmptyin interfaceMutableListMultimap<K,V>- Specified by:
newEmptyin interfaceMutableMultimap<K,V>- Specified by:
newEmptyin interfaceOrderedIterableMultimap<K,V>- Specified by:
newEmptyin interfaceReversibleIterableMultimap<K,V>
-
flip
public MutableBagMultimap<V,K> flip()
Description copied from interface:MultimapGiven 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:MultimapReturns 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:
selectKeysValuesin interfaceListMultimap<K,V>- Specified by:
selectKeysValuesin interfaceMultimap<K,V>- Specified by:
selectKeysValuesin interfaceMutableListMultimap<K,V>- Specified by:
selectKeysValuesin interfaceMutableMultimap<K,V>- Specified by:
selectKeysValuesin interfaceOrderedIterableMultimap<K,V>- Specified by:
selectKeysValuesin interfaceReversibleIterableMultimap<K,V>- Parameters:
predicate- aPredicate2to 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:MultimapReturns 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:
rejectKeysValuesin interfaceListMultimap<K,V>- Specified by:
rejectKeysValuesin interfaceMultimap<K,V>- Specified by:
rejectKeysValuesin interfaceMutableListMultimap<K,V>- Specified by:
rejectKeysValuesin interfaceMutableMultimap<K,V>- Specified by:
rejectKeysValuesin interfaceOrderedIterableMultimap<K,V>- Specified by:
rejectKeysValuesin interfaceReversibleIterableMultimap<K,V>- Parameters:
predicate- aPredicate2to 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:MultimapReturns 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:
selectKeysMultiValuesin interfaceListMultimap<K,V>- Specified by:
selectKeysMultiValuesin interfaceMultimap<K,V>- Specified by:
selectKeysMultiValuesin interfaceMutableListMultimap<K,V>- Specified by:
selectKeysMultiValuesin interfaceMutableMultimap<K,V>- Specified by:
selectKeysMultiValuesin interfaceOrderedIterableMultimap<K,V>- Specified by:
selectKeysMultiValuesin interfaceReversibleIterableMultimap<K,V>- Parameters:
predicate- aPredicate2to 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:MultimapReturns 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:
rejectKeysMultiValuesin interfaceListMultimap<K,V>- Specified by:
rejectKeysMultiValuesin interfaceMultimap<K,V>- Specified by:
rejectKeysMultiValuesin interfaceMutableListMultimap<K,V>- Specified by:
rejectKeysMultiValuesin interfaceMutableMultimap<K,V>- Specified by:
rejectKeysMultiValuesin interfaceOrderedIterableMultimap<K,V>- Specified by:
rejectKeysMultiValuesin interfaceReversibleIterableMultimap<K,V>- Parameters:
predicate- aPredicate2to use as the reject criteria- Returns:
Multimap, which contains elements that don't satisfy thepredicate
-
-