Class PersistentBidirectionalTrieSetMultimap<K,V>
java.lang.Object
io.usethesource.capsule.core.PersistentBidirectionalTrieSetMultimap<K,V>
- All Implemented Interfaces:
BinaryRelation<K,V>, BinaryRelation.Immutable<K, V>, SetMultimap<K, V>, SetMultimap.Immutable<K, V>, SetMultimapEq<K, V>, SetMultimapEq.Immutable<K, V>, Serializable
public class PersistentBidirectionalTrieSetMultimap<K,V>
extends Object
implements BinaryRelation.Immutable<K,V>, Serializable
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface BinaryRelation
BinaryRelation.Immutable<K,V>, BinaryRelation.Transient<K, V> Nested classes/interfaces inherited from interface SetMultimap
SetMultimap.Immutable<K,V>, SetMultimap.Transient<K, V> Nested classes/interfaces inherited from interface SetMultimapEq
SetMultimapEq.Immutable<K,V>, SetMultimapEq.Transient<K, V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final SetMultimap.Immutable<V, K> private final SetMultimap.Immutable<K, V> private static final long -
Constructor Summary
ConstructorsConstructorDescriptionPersistentBidirectionalTrieSetMultimap(SetMultimap.Immutable<K, V> fwd, SetMultimap.Immutable<V, K> bwd) -
Method Summary
Modifier and TypeMethodDescription__insert(K key, Set.Immutable<V> values) __put(K key, Set.Immutable<V> values) private static <K,V> BinaryRelation.Immutable <K, V> batchWireTuple(K key, Set.Immutable<V> values, BiFunction<K, Set.Immutable<V>, ? extends SetMultimap.Immutable<K, V>> fwdMerger, BiFunction<Set.Immutable<V>, K, ? extends SetMultimap.Immutable<V, K>> bwdMerger) booleancontainsEntry(Object o0, Object o1) booleanbooleanentrySet()booleanCompares the specified object for equality against this multimap.inthashCode()Returns the hash code for this multimap.inverse()booleanisEmpty()booleankeySet()Iterates over the raw internal structure.static final <K,V> BinaryRelation.Immutable <K, V> of()intsize()Return the number of key-value pairs contained in this multimap.inttoString()static final <K,V> BinaryRelation.Transient <K, V> <T> Iterator<T> tupleIterator(BiFunction<K, V, T> dataConverter) <T> Stream<T> tupleStream(BiFunction<K, V, T> dataConverter) values()private static <K,V> BinaryRelation.Immutable <K, V> wireTuple(K key, V value, BiFunction<K, V, ? extends SetMultimap.Immutable<K, V>> fwdMerger, BiFunction<V, K, ? extends SetMultimap.Immutable<V, K>> bwdMerger) Methods inherited from interface SetMultimap.Immutable
__insert, complement, intersect, inverseMap, unionMethods inherited from interface SetMultimapEq
containsEntryEquivalent, containsKeyEquivalent, containsValueEquivalent, getEquivalentMethods inherited from interface SetMultimapEq.Immutable
__insertEquivalent, __insertEquivalent, __putEquivalent, __putEquivalent, __removeEquivalent, __removeEquivalent, complementEquivalent, intersectEquivalent, unionEquivalent
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
fwd
-
bwd
-
-
Constructor Details
-
PersistentBidirectionalTrieSetMultimap
public PersistentBidirectionalTrieSetMultimap(SetMultimap.Immutable<K, V> fwd, SetMultimap.Immutable<V, K> bwd)
-
-
Method Details
-
of
-
transientOf
-
wireTuple
private static <K,V> BinaryRelation.Immutable<K,V> wireTuple(K key, V value, BiFunction<K, V, ? extends SetMultimap.Immutable<K, V>> fwdMerger, BiFunction<V, K, ? extends SetMultimap.Immutable<V, K>> bwdMerger) -
batchWireTuple
private static <K,V> BinaryRelation.Immutable<K,V> batchWireTuple(K key, Set.Immutable<V> values, BiFunction<K, Set.Immutable<V>, ? extends SetMultimap.Immutable<K, V>> fwdMerger, BiFunction<Set.Immutable<V>, K, ? extends SetMultimap.Immutable<V, K>> bwdMerger) -
inverse
- Specified by:
inversein interfaceBinaryRelation<K,V> - Specified by:
inversein interfaceBinaryRelation.Immutable<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
-
values
- Specified by:
valuesin interfaceSetMultimap<K,V>
-
entrySet
-
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.Immutable<K,V>
-
__put
- Specified by:
__putin interfaceSetMultimap.Immutable<K,V>
-
__insert
- Specified by:
__insertin interfaceSetMultimap.Immutable<K,V>
-
__insert
- Specified by:
__insertin interfaceSetMultimap.Immutable<K,V>
-
__remove
- Specified by:
__removein interfaceSetMultimap.Immutable<K,V>
-
__remove
- Specified by:
__removein interfaceSetMultimap.Immutable<K,V>
-
hashCode
-
equals
Description copied from interface:SetMultimap -
toString
-
isTransientSupported
public boolean isTransientSupported()- Specified by:
isTransientSupportedin interfaceBinaryRelation.Immutable<K,V> - Specified by:
isTransientSupportedin interfaceSetMultimap.Immutable<K,V>
-
asTransient
- Specified by:
asTransientin interfaceBinaryRelation.Immutable<K,V> - Specified by:
asTransientin interfaceSetMultimap.Immutable<K,V>
-