Top Methods
org.eclipse.collections.api.multimap.list

public Interface MutableListMultimap<K, V>

extends ListMultimap<K, V>, MutableMultimap<K, V>
Imports
org.eclipse.collections.api.RichIterable, org.eclipse.collections.api.block.function.Function, .Function2, org.eclipse.collections.api.block.predicate.Predicate2, org.eclipse.collections.api.block.procedure.Procedure2, org.eclipse.collections.api.list.MutableList, org.eclipse.collections.api.multimap.MutableMultimap, org.eclipse.collections.api.multimap.bag.MutableBagMultimap, org.eclipse.collections.api.tuple.Pair

Since
1.0

Method Summary

Modifier and TypeMethod and Description
public MutableListMultimap<K, V>
asSynchronized()

Redeclares org.eclipse.collections.api.multimap.MutableMultimap.asSynchronized.

Returns a synchronized wrapper backed by this multimap.

public <K2, V2> MutableBagMultimap<K2, V2>
collectKeyMultiValues(Function<? super K, ? extends K2> keyFunction, Function<? super V, ? extends V2> valueFunction)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.collectKeyMultiValues, org.eclipse.collections.api.multimap.MutableMultimap.collectKeyMultiValues.

Returns a new multimap with the results of applying the specified keyFunction and valueFunction on each key and corresponding values of the source multimap.

public <K2, V2> MutableBagMultimap<K2, V2>
collectKeysValues(Function2<? super K, ? super V, Pair<K2, V2>> function)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.collectKeysValues, org.eclipse.collections.api.multimap.MutableMultimap.collectKeysValues.

Returns a new multimap with the results of applying the specified function on each key and value of the source multimap.

public <V2> MutableListMultimap<K, V2>
collectValues(Function<? super V, ? extends V2> function)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.collectValues, org.eclipse.collections.api.multimap.MutableMultimap.collectValues.

Returns a new multimap with the results of applying the specified function on each value of the source multimap.

public MutableBagMultimap<V, K>
flip()

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.flip, org.eclipse.collections.api.multimap.MutableMultimap.flip.

Given a Multimap from Domain -> Range return a multimap from Range -> Domain.

public void
forEachKeyMutableList(Procedure2<? super K, ? super MutableList<V>> procedure)

public MutableList<V>
get(K key)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.get, org.eclipse.collections.api.multimap.MutableMultimap.get.

Returns a view of all values associated with the given key.

public MutableList<V>
getIfAbsentPutAll(K key, Iterable<? extends V> values)

Redeclares org.eclipse.collections.api.multimap.MutableMultimap.getIfAbsentPutAll.

Puts values into multimap if there are no values already associated with key.

public MutableListMultimap<K, V>
newEmpty()

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.newEmpty, org.eclipse.collections.api.multimap.MutableMultimap.newEmpty.

Creates a new instance of the same implementation type, using the default capacity and growth parameters.

public MutableListMultimap<K, V>
rejectKeysMultiValues(Predicate2<? super K, ? super RichIterable<V>> predicate)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.rejectKeysMultiValues, org.eclipse.collections.api.multimap.MutableMultimap.rejectKeysMultiValues.

Returns all elements of the source multimap that don't satisfy the predicate.

public MutableListMultimap<K, V>
rejectKeysValues(Predicate2<? super K, ? super V> predicate)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.rejectKeysValues, org.eclipse.collections.api.multimap.MutableMultimap.rejectKeysValues.

Returns all elements of the source multimap that don't satisfy the predicate.

public MutableList<V>
public MutableList<V>
public MutableListMultimap<K, V>
public MutableListMultimap<K, V>
selectKeysValues(Predicate2<? super K, ? super V> predicate)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.selectKeysValues, org.eclipse.collections.api.multimap.MutableMultimap.selectKeysValues.

Returns all elements of the source multimap that satisfies the predicate.

public default MutableListMultimap<K, V>
withKeyMultiValues(K key, V... values)

Overrides default org.eclipse.collections.api.multimap.MutableMultimap.withKeyMultiValues.

Puts the key / values combination into the MutableMultimap and returns the MutableMultimap (this).

public default MutableListMultimap<K, V>
withKeyValue(K key, V value)

Overrides default org.eclipse.collections.api.multimap.MutableMultimap.withKeyValue.

Puts the key / value combination into the MutableListMultimap and returns the MutableListMultimap (this).

Inherited from org.eclipse.collections.api.multimap.list.ListMultimap:
toImmutabletoMutable
Inherited from org.eclipse.collections.api.multimap.MutableMultimap:
addclearputputAllputAllputAllPairsputAllPairsremove

Method Detail

asSynchronizedback to summary
public MutableListMultimap<K, V> asSynchronized()

Redeclares org.eclipse.collections.api.multimap.MutableMultimap.asSynchronized.

Doc from org.eclipse.collections.api.multimap.MutableMultimap.asSynchronized.

Returns a synchronized wrapper backed by this multimap. The preferred way of iterating over a synchronized multimap is to use the forEachKey(), forEachValue(), forEachKeyValue() and forEachKeyMultiValues methods which are properly synchronized internally.

 MutableMultimap synchedMultimap = multimap.asSynchronized();

 synchedMultimap.forEachKey(key -> ... );
 synchedMultimap.forEachValue(value -> ... );
 synchedMultimap.forEachKeyValue((key, value) -> ... );
 synchedMultimap.forEachKeyMultiValues((key, values) -> ... );

If you want to iterate imperatively over the keySet(), keysView(), valuesView(), or other views, you will need to protect the iteration by wrapping the code in a synchronized block on the multimap.

Annotations
@Override
collectKeyMultiValuesback to summary
public <K2, V2> MutableBagMultimap<K2, V2> collectKeyMultiValues(Function<? super K, ? extends K2> keyFunction, Function<? super V, ? extends V2> valueFunction)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.collectKeyMultiValues, org.eclipse.collections.api.multimap.MutableMultimap.collectKeyMultiValues.

Doc from org.eclipse.collections.api.multimap.Multimap.collectKeyMultiValues.

Returns a new multimap with the results of applying the specified keyFunction and valueFunction on each key and corresponding values of the source multimap. This method is also commonly called transform or map.

e.g.
return multimap.collectKeyMultiValues(each -> each + 1, Person::getLastName);
Annotations
@Override
collectKeysValuesback to summary
public <K2, V2> MutableBagMultimap<K2, V2> collectKeysValues(Function2<? super K, ? super V, Pair<K2, V2>> function)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.collectKeysValues, org.eclipse.collections.api.multimap.MutableMultimap.collectKeysValues.

Doc from org.eclipse.collections.api.multimap.Multimap.collectKeysValues.

Returns a new multimap with the results of applying the specified function on each key and value of the source multimap. This method is also commonly called transform or map.

e.g.
return multimap.collectKeysValues(new Function2<Integer, Person, Pair<String, String>>()
{
    public Pair<String, String> valueOf(Integer age, Person person)
    {
        return Tuples.pair(age.toString(), person.getLastName());
    }
});
Annotations
@Override
collectValuesback to summary
public <V2> MutableListMultimap<K, V2> collectValues(Function<? super V, ? extends V2> function)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.collectValues, org.eclipse.collections.api.multimap.MutableMultimap.collectValues.

Doc from org.eclipse.collections.api.multimap.Multimap.collectValues.

Returns a new multimap with the results of applying the specified function on each value of the source multimap. This method is also commonly called transform or map.

e.g.
return multimap.collectValues(new Function<Person, String>()
{
    public String valueOf(Person person)
    {
        return person.getLastName();
    }
});
Annotations
@Override
flipback to summary
public MutableBagMultimap<V, K> flip()

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.flip, org.eclipse.collections.api.multimap.MutableMultimap.flip.

Doc from org.eclipse.collections.api.multimap.Multimap.flip.

Given a Multimap from Domain -> Range return a multimap from Range -> Domain.

Annotations
@Override
forEachKeyMutableListback to summary
public void forEachKeyMutableList(Procedure2<? super K, ? super MutableList<V>> procedure)
Since
11.0
getback to summary
public MutableList<V> get(K key)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.get, org.eclipse.collections.api.multimap.MutableMultimap.get.

Doc from org.eclipse.collections.api.multimap.Multimap.get.

Returns a view of all values associated with the given key.

If the given key does not exist, an empty RichIterable is returned.

Annotations
@Override
getIfAbsentPutAllback to summary
public MutableList<V> getIfAbsentPutAll(K key, Iterable<? extends V> values)

Redeclares org.eclipse.collections.api.multimap.MutableMultimap.getIfAbsentPutAll.

Doc from org.eclipse.collections.api.multimap.MutableMultimap.getIfAbsentPutAll.

Puts values into multimap if there are no values already associated with key. Then returns a view of the values associated with key, like the result of Multimap#get(Object)

Annotations
@Override
newEmptyback to summary
public MutableListMultimap<K, V> newEmpty()

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.newEmpty, org.eclipse.collections.api.multimap.MutableMultimap.newEmpty.

Doc from org.eclipse.collections.api.multimap.Multimap.newEmpty.

Creates a new instance of the same implementation type, using the default capacity and growth parameters.

Annotations
@Override
rejectKeysMultiValuesback to summary
public MutableListMultimap<K, V> rejectKeysMultiValues(Predicate2<? super K, ? super RichIterable<V>> predicate)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.rejectKeysMultiValues, org.eclipse.collections.api.multimap.MutableMultimap.rejectKeysMultiValues.

Doc from org.eclipse.collections.api.multimap.Multimap.rejectKeysMultiValues.

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);
    }
});
Annotations
@Override
rejectKeysValuesback to summary
public MutableListMultimap<K, V> rejectKeysValues(Predicate2<? super K, ? super V> predicate)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.rejectKeysValues, org.eclipse.collections.api.multimap.MutableMultimap.rejectKeysValues.

Doc from org.eclipse.collections.api.multimap.Multimap.rejectKeysValues.

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"));
    }
});
Annotations
@Override
removeAllback to summary
public MutableList<V> removeAll(Object key)

Redeclares org.eclipse.collections.api.multimap.MutableMultimap.removeAll.

Annotations
@Override
replaceValuesback to summary
public MutableList<V> replaceValues(K key, Iterable<? extends V> values)

Redeclares org.eclipse.collections.api.multimap.MutableMultimap.replaceValues.

Annotations
@Override
selectKeysMultiValuesback to summary
public MutableListMultimap<K, V> selectKeysMultiValues(Predicate2<? super K, ? super RichIterable<V>> predicate)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.selectKeysMultiValues, org.eclipse.collections.api.multimap.MutableMultimap.selectKeysMultiValues.

Doc from org.eclipse.collections.api.multimap.Multimap.selectKeysMultiValues.

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);
    }
});
Annotations
@Override
selectKeysValuesback to summary
public MutableListMultimap<K, V> selectKeysValues(Predicate2<? super K, ? super V> predicate)

Redeclares org.eclipse.collections.api.multimap.list.ListMultimap.selectKeysValues, org.eclipse.collections.api.multimap.MutableMultimap.selectKeysValues.

Doc from org.eclipse.collections.api.multimap.Multimap.selectKeysValues.

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"));
    }
});
Annotations
@Override
withKeyMultiValuesback to summary
public default MutableListMultimap<K, V> withKeyMultiValues(K key, V... values)

Overrides default org.eclipse.collections.api.multimap.MutableMultimap.withKeyMultiValues.

Doc from org.eclipse.collections.api.multimap.MutableMultimap.withKeyMultiValues.

Puts the key / values combination into the MutableMultimap and returns the MutableMultimap (this).

Annotations
@Override
withKeyValueback to summary
public default MutableListMultimap<K, V> withKeyValue(K key, V value)

Overrides default org.eclipse.collections.api.multimap.MutableMultimap.withKeyValue.

Puts the key / value combination into the MutableListMultimap and returns the MutableListMultimap (this).

Annotations
@Override
Since
11.1