Class AbstractMultimap<A,B>
- All Implemented Interfaces:
Multimap<A,
,B> Iterable<Map.Entry<A,
,B>> Collection<Map.Entry<A,
,B>> BiPredicate<A,
,B> Set<Map.Entry<A,
B>>
- Direct Known Subclasses:
IndexMultimap
,MapMultimap
Multimap
.
The next level will supply the particular storage room.
Only the methods AbstractCollection.size()
and AbstractCollection.iterator()
are not implemented here.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Adds a pair to this multimap.boolean
Whether this multimap contains a pair with the given components.boolean
containsUnchecked
(Object a, Object b) domain()
Returns the set of left components of pairs in this multimap.Returns the set of right components of pairs with a given left component in this multimap.imageAll
(Collection<? extends A> c) Returns the set of right components of pairs in this multimap, which have a left component in the given set.imageAllUnchecked
(Collection<?> c) imageMap()
Returns a map which maps each A which appears as a left component to a set of all B which appear as its right component.Returns the set of left components of pairs with a given right component in this multimap.preimageAll
(Collection<? extends B> c) Returns the set of left components of pairs in this multimap, which have a right component in the given set.Returns a map which maps each B which appears as a right component to a set of all A which appear as its left component.range()
Returns the set of right components of pairs in this multimap.boolean
Removes a pair from this this multimap.boolean
removeAllDomain
(Collection<? extends A> c) Removes all pairs with a left component in the given collection from this multimap.boolean
boolean
removeAllRange
(Collection<? extends B> c) Removes all pairs with a right component in the given collection from this multimap.boolean
boolean
removeDomain
(A a) Removes all pairs with a given left component from this multimap.boolean
Is not an overriding method DOCMEboolean
removeRange
(B b) Removes all pairs with a given right component from this multimap.boolean
Is not an overriding method DOCMEboolean
removeUnchecked
(Object a, Object b) boolean
retainAllDomain
(Collection<? extends A> c) Removes all pairs with a left component which is not the given collection from this multimap.boolean
boolean
retainAllRange
(Collection<? extends B> c) Removes all pairs with a right component which is not the given collection from this multimap.boolean
boolean
Methods inherited from class java.util.AbstractCollection
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.function.BiPredicate
and, negate, or
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Constructor Details
-
AbstractMultimap
public AbstractMultimap()
-
-
Method Details
-
test
- Specified by:
test
in interfaceBiPredicate<A,
B>
-
add
Description copied from interface:Multimap
Adds a pair to this multimap. This operation must be stable: adding a pair thatequals
any pair contained in this multimap componentwise must not change this multimap. -
remove
Description copied from interface:Multimap
Removes a pair from this this multimap. Removing a pair thatequals
no pair contained in this multimap componentwise must not change this multimap. -
removeUnchecked
- Specified by:
removeUnchecked
in interfaceMultimap<A,
B>
-
contains
Description copied from interface:Multimap
Whether this multimap contains a pair with the given components. -
containsUnchecked
- Specified by:
containsUnchecked
in interfaceMultimap<A,
B>
-
domain
Description copied from interface:Multimap
Returns the set of left components of pairs in this multimap.The returned set is backed by this multimap, such that changes to this multimap are reflected by the set. The behavior of modifications of this multimap concurrent to iteration of the set is unspecified.
If this multimap supports the
removeDomain
operation, then the returned set and its iterators must support theremove
operation, and changes by these operations must be reflected by this multimap. -
range
Description copied from interface:Multimap
Returns the set of right components of pairs in this multimap.If this multimap supports the
removeRange
operation, then the returned set and its iterators must support theremove
operation. -
removeDomain
Description copied from interface:Multimap
Removes all pairs with a given left component from this multimap. The effect of the implementation on this multimap must be equivalent to the following code:removeDomain(final A a) { for (B b : new HashSet<B>(range())) remove(a, b) ; }
- Specified by:
removeDomain
in interfaceMultimap<A,
B> - Parameters:
a
- the left component of all pairs to remove.- Returns:
true
if this multimap has been changed by this operation,false
otherwise.
-
removeDomainUnchecked
Is not an overriding method DOCME -
removeRange
Description copied from interface:Multimap
Removes all pairs with a given right component from this multimap. The effect of the implementation on this multimap must be equivalent to the following code:removeRange(final B b) { for (A a : new HashSet<A>(domain())) remove(a, b) ; }
- Specified by:
removeRange
in interfaceMultimap<A,
B> - Parameters:
b
- the right component of all pairs to remove.- Returns:
true
if this multimap has been changed by this operation,false
otherwise.
-
removeRangeUnchecked
Is not an overriding method DOCME -
removeAllDomain
Description copied from interface:Multimap
Removes all pairs with a left component in the given collection from this multimap.- Specified by:
removeAllDomain
in interfaceMultimap<A,
B>
-
removeAllDomainUnchecked
- Specified by:
removeAllDomainUnchecked
in interfaceMultimap<A,
B> - See Also:
-
retainAllDomain
Description copied from interface:Multimap
Removes all pairs with a left component which is not the given collection from this multimap.- Specified by:
retainAllDomain
in interfaceMultimap<A,
B>
-
retainAllDomainUnchecked
- Specified by:
retainAllDomainUnchecked
in interfaceMultimap<A,
B> - See Also:
-
removeAllRange
Description copied from interface:Multimap
Removes all pairs with a right component in the given collection from this multimap.- Specified by:
removeAllRange
in interfaceMultimap<A,
B>
-
removeAllRangeUnchecked
- Specified by:
removeAllRangeUnchecked
in interfaceMultimap<A,
B> - See Also:
-
retainAllRange
Description copied from interface:Multimap
Removes all pairs with a right component which is not the given collection from this multimap.- Specified by:
retainAllRange
in interfaceMultimap<A,
B>
-
retainAllRangeUnchecked
- Specified by:
retainAllRangeUnchecked
in interfaceMultimap<A,
B> - See Also:
-
image
Description copied from interface:Multimap
Returns the set of right components of pairs with a given left component in this multimap.The returned set need not be modifiable. The behaviour of this multimap after successfully modifying the returned set is unspecified.
-
imageUnchecked
- Specified by:
imageUnchecked
in interfaceMultimap<A,
B> - See Also:
-
imageAll
Description copied from interface:Multimap
Returns the set of right components of pairs in this multimap, which have a left component in the given set. -
imageAllUnchecked
- Specified by:
imageAllUnchecked
in interfaceMultimap<A,
B> - See Also:
-
imageMap
Description copied from interface:Multimap
Returns a map which maps each A which appears as a left component to a set of all B which appear as its right component. -
preimage
Description copied from interface:Multimap
Returns the set of left components of pairs with a given right component in this multimap.The returned set need not be modifiable. The behaviour of this multimap after successfully modifying the returned set is unspecified.
-
preimageUnchecked
- Specified by:
preimageUnchecked
in interfaceMultimap<A,
B> - See Also:
-
preimageAll
Description copied from interface:Multimap
Returns the set of left components of pairs in this multimap, which have a right component in the given set.- Specified by:
preimageAll
in interfaceMultimap<A,
B>
-
preimageAllUnchecked
- Specified by:
preimageAllUnchecked
in interfaceMultimap<A,
B>
-
preimageMap
Description copied from interface:Multimap
Returns a map which maps each B which appears as a right component to a set of all A which appear as its left component.- Specified by:
preimageMap
in interfaceMultimap<A,
B>
-