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 TypeMethodDescriptionbooleanbooleanbooleanbooleancontainsEntry(Object o0, Object o1) booleanbooleanentrySet()booleanCompares the specified object for equality against this multimap.freeze()inthashCode()Returns the hash code for this multimap.inverse()booleanisEmpty()keySet()Iterates over the raw internal structure.intsize()Return the number of key-value pairs contained in this multimap.inttoString()<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, waitMethods inherited from interface io.usethesource.capsule.SetMultimap.Transient
__insert, __put, __remove, complement, intersect, unionMethods inherited from interface io.usethesource.capsule.SetMultimapEq
containsEntryEquivalent, containsKeyEquivalent, containsValueEquivalent, getEquivalentMethods 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:
inversein interfaceBinaryRelation<K,V> - Specified by:
inversein interfaceBinaryRelation.Transient<K,V>
-
toSetMultimap
- Specified by:
toSetMultimapin interfaceBinaryRelation<K,V>
-
size
public int size()Description copied from interface:SetMultimapReturn the number of key-value pairs contained in this multimap.- Specified by:
sizein interfaceSetMultimap<K,V> - Returns:
- number of key-value pairs in this multimap
-
sizeDistinct
public int sizeDistinct()- Specified by:
sizeDistinctin interfaceSetMultimap<K,V>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceSetMultimap<K,V>
-
containsKey
- Specified by:
containsKeyin interfaceSetMultimap<K,V>
-
containsValue
- Specified by:
containsValuein interfaceSetMultimap<K,V>
-
containsEntry
- Specified by:
containsEntryin interfaceSetMultimap<K,V>
-
get
- Specified by:
getin interfaceSetMultimap<K,V>
-
keySet
- Specified by:
keySetin interfaceSetMultimap<K,V>
-
values
- Specified by:
valuesin interfaceSetMultimap<K,V>
-
entrySet
- Specified by:
entrySetin interfaceSetMultimap<K,V>
-
keyIterator
- Specified by:
keyIteratorin interfaceSetMultimap<K,V>
-
valueIterator
- Specified by:
valueIteratorin interfaceSetMultimap<K,V>
-
entryIterator
- Specified by:
entryIteratorin interfaceSetMultimap<K,V>
-
nativeEntryIterator
Description copied from interface:SetMultimapIterates over the raw internal structure. Optional operation.- Specified by:
nativeEntryIteratorin interfaceSetMultimap<K,V> - Returns:
- native iterator, if supported
- Throws:
UnsupportedOperationException
-
tupleIterator
- Specified by:
tupleIteratorin interfaceSetMultimap<K,V>
-
tupleStream
- Specified by:
tupleStreamin interfaceSetMultimap<K,V>
-
__put
- Specified by:
__putin interfaceSetMultimap.Transient<K,V>
-
__insert
- Specified by:
__insertin interfaceSetMultimap.Transient<K,V>
-
__remove
- Specified by:
__removein interfaceSetMultimap.Transient<K,V>
-
hashCode
public int hashCode()Description copied from interface:SetMultimap -
equals
Description copied from interface:SetMultimap -
toString
-
freeze
- Specified by:
freezein interfaceBinaryRelation.Transient<K,V> - Specified by:
freezein interfaceSetMultimap.Transient<K,V>
-