Class MultiReaderFastListMultimap<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.MultiReaderFastListMultimap<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 MultiReaderFastListMultimap<K,V>
extends AbstractMutableListMultimap<K,V>
implements Externalizable
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intprivate intprivate static final longFields inherited from class AbstractMutableMultimap
map, totalSize -
Constructor Summary
ConstructorsConstructorDescriptionMultiReaderFastListMultimap(int distinctKeys, int valuesPerKey) MultiReaderFastListMultimap(Iterable<Pair<K, V>> inputIterable) MultiReaderFastListMultimap(Multimap<? extends K, ? extends V> multimap) MultiReaderFastListMultimap(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> MultiReaderFastListMultimap <K, V> static <K,V> MultiReaderFastListMultimap <K, V> newMultimap(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) 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.Methods inherited from class AbstractMutableListMultimap
asSynchronized, collectKeyMultiValues, collectKeysValues, collectValues, forEachKeyMutableList, toImmutable, toMutableMethods inherited from class AbstractMutableMultimap
addToTotalSize, clear, clearTotalSize, decrementTotalSize, get, getIfAbsentPutAll, getMap, incrementTotalSize, isEmpty, keySet, put, putAll, putAll, readExternal, remove, removeAll, replaceValues, size, sizeDistinct, subtractFromTotalSize, toMap, toMap, writeExternalMethods inherited from class 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, valuesViewMethods inherited from interface Externalizable
readExternal, writeExternalMethods inherited from interface 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, valuesViewMethods inherited from interface MutableListMultimap
get, getIfAbsentPutAll, removeAll, replaceValues, withKeyMultiValues, withKeyValueMethods inherited from interface 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
-
MultiReaderFastListMultimap
public MultiReaderFastListMultimap() -
MultiReaderFastListMultimap
public MultiReaderFastListMultimap(int distinctKeys, int valuesPerKey) -
MultiReaderFastListMultimap
-
MultiReaderFastListMultimap
-
MultiReaderFastListMultimap
-
-
Method Details
-
newMultimap
-
newMultimap
public static <K,V> MultiReaderFastListMultimap<K,V> newMultimap(Multimap<? extends K, ? extends V> multimap) -
newMultimap
-
newMultimap
-
createMap
- Specified by:
createMapin classAbstractMutableMultimap<K, V, MutableList<V>>
-
createMapWithKeyCount
- Specified by:
createMapWithKeyCountin classAbstractMutableMultimap<K, V, 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
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
Description copied from interface:MultimapGiven a Multimap from Domain->Range return a multimap from Range->Domain. -
selectKeysValues
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
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
-