Package io.usethesource.capsule.core
Class TransientBidirectionalTrieSetMultimap<K,V>
java.lang.Object
io.usethesource.capsule.core.TransientBidirectionalTrieSetMultimap<K,V>
- All Implemented Interfaces:
BinaryRelation<K,
,V> BinaryRelation.Transient<K,
,V> SetMultimap<K,
,V> SetMultimap.Transient<K,
,V> SetMultimapEq<K,
,V> SetMultimapEq.Transient<K,
V>
class TransientBidirectionalTrieSetMultimap<K,V>
extends Object
implements BinaryRelation.Transient<K,V>
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.usethesource.capsule.BinaryRelation
BinaryRelation.Immutable<K,
V>, BinaryRelation.Transient<K, V> Nested classes/interfaces inherited from interface io.usethesource.capsule.SetMultimap
SetMultimap.Immutable<K,
V>, SetMultimap.Transient<K, V> Nested classes/interfaces inherited from interface io.usethesource.capsule.SetMultimapEq
SetMultimapEq.Immutable<K,
V>, SetMultimapEq.Transient<K, V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final SetMultimap.Transient
<V, K> private final SetMultimap.Transient
<K, V> -
Constructor Summary
ConstructorsConstructorDescriptionTransientBidirectionalTrieSetMultimap
(SetMultimap.Transient<K, V> fwd, SetMultimap.Transient<V, K> bwd) -
Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
boolean
boolean
containsEntry
(Object o0, Object o1) boolean
boolean
entrySet()
boolean
Compares the specified object for equality against this multimap.freeze()
int
hashCode()
Returns the hash code for this multimap.inverse()
boolean
isEmpty()
keySet()
Iterates over the raw internal structure.int
size()
Return the number of key-value pairs contained in this multimap.int
toString()
<T> Iterator
<T> tupleIterator
(BiFunction<K, V, T> dataConverter) <T> Stream
<T> tupleStream
(BiFunction<K, V, T> dataConverter) values()
private static <K,
V> boolean wireTransientTuple
(K key, V value, BiFunction<K, V, Boolean> fwdMerger, BiFunction<V, K, Boolean> bwdMerger) Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.usethesource.capsule.SetMultimap.Transient
__insert, __put, __remove, complement, intersect, union
Methods inherited from interface io.usethesource.capsule.SetMultimapEq
containsEntryEquivalent, containsKeyEquivalent, containsValueEquivalent, getEquivalent
Methods inherited from interface io.usethesource.capsule.SetMultimapEq.Transient
__insertEquivalent, __insertEquivalent, __putEquivalent, __putEquivalent, __removeEquivalent, __removeEquivalent, complementEquivalent, intersectEquivalent, unionEquivalent
-
Field Details
-
fwd
-
bwd
-
-
Constructor Details
-
TransientBidirectionalTrieSetMultimap
public TransientBidirectionalTrieSetMultimap(SetMultimap.Transient<K, V> fwd, SetMultimap.Transient<V, K> bwd)
-
-
Method Details
-
wireTransientTuple
private static <K,V> boolean wireTransientTuple(K key, V value, BiFunction<K, V, Boolean> fwdMerger, BiFunction<V, K, Boolean> bwdMerger) -
inverse
- Specified by:
inverse
in interfaceBinaryRelation<K,
V> - Specified by:
inverse
in interfaceBinaryRelation.Transient<K,
V>
-
toSetMultimap
- Specified by:
toSetMultimap
in interfaceBinaryRelation<K,
V>
-
size
public int size()Description copied from interface:SetMultimap
Return the number of key-value pairs contained in this multimap.- Specified by:
size
in interfaceSetMultimap<K,
V> - Returns:
- number of key-value pairs in this multimap
-
sizeDistinct
public int sizeDistinct()- Specified by:
sizeDistinct
in interfaceSetMultimap<K,
V>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceSetMultimap<K,
V>
-
containsKey
- Specified by:
containsKey
in interfaceSetMultimap<K,
V>
-
containsValue
- Specified by:
containsValue
in interfaceSetMultimap<K,
V>
-
containsEntry
- Specified by:
containsEntry
in interfaceSetMultimap<K,
V>
-
get
- Specified by:
get
in interfaceSetMultimap<K,
V>
-
keySet
- Specified by:
keySet
in interfaceSetMultimap<K,
V>
-
values
- Specified by:
values
in interfaceSetMultimap<K,
V>
-
entrySet
- Specified by:
entrySet
in interfaceSetMultimap<K,
V>
-
keyIterator
- Specified by:
keyIterator
in interfaceSetMultimap<K,
V>
-
valueIterator
- Specified by:
valueIterator
in interfaceSetMultimap<K,
V>
-
entryIterator
- Specified by:
entryIterator
in interfaceSetMultimap<K,
V>
-
nativeEntryIterator
Description copied from interface:SetMultimap
Iterates over the raw internal structure. Optional operation.- Specified by:
nativeEntryIterator
in interfaceSetMultimap<K,
V> - Returns:
- native iterator, if supported
- Throws:
UnsupportedOperationException
-
tupleIterator
- Specified by:
tupleIterator
in interfaceSetMultimap<K,
V>
-
tupleStream
- Specified by:
tupleStream
in interfaceSetMultimap<K,
V>
-
__put
- Specified by:
__put
in interfaceSetMultimap.Transient<K,
V>
-
__insert
- Specified by:
__insert
in interfaceSetMultimap.Transient<K,
V>
-
__remove
- Specified by:
__remove
in interfaceSetMultimap.Transient<K,
V>
-
hashCode
public int hashCode()Description copied from interface:SetMultimap
-
equals
Description copied from interface:SetMultimap
-
toString
-
freeze
- Specified by:
freeze
in interfaceBinaryRelation.Transient<K,
V> - Specified by:
freeze
in interfaceSetMultimap.Transient<K,
V>
-