T
- the type of a sub-key the key consist ofK
- the type of a full key, which is an Iterable of its sub-keys, with usage as in a
regular MapV
- the type of a value which stored in the MultiKeyMap under the corresponding keypublic interface MultiKeyMap<T,K extends java.lang.Iterable<T>,V>
extends java.util.Map<K,V>
NOTE: All implementations assumed to support only @NotNullable values
unless specifically stated!
Map
Modifier and Type | Method and Description |
---|---|
default java.util.stream.Stream<java.util.Map.Entry<K,V>> |
getEntriesByPartialKey(java.lang.Iterable<? extends T> partialKey)
Gets all entries for which their full keys contain the partial key set in any order.
|
default java.util.stream.Stream<java.util.Map.Entry<K,V>> |
getEntriesByPartialKey(java.lang.Iterable<? extends T> partialKey,
java.lang.Iterable<java.lang.Integer> positions)
Gets all entries for which their full keys contain the partial key according to the specified
positions.
|
java.util.stream.Stream<K> |
getFullKeysByPartialKey(java.lang.Iterable<? extends T> partialKey)
Gets all full keys that contain the partial key set in any order.
|
default java.util.stream.Stream<K> |
getFullKeysByPartialKey(java.lang.Iterable<? extends T> partialKey,
java.lang.Iterable<java.lang.Integer> positions)
Gets all full keys that contain the partial key according to the specified positions.
|
default java.util.stream.Stream<V> |
getValuesByPartialKey(java.lang.Iterable<? extends T> partialKey)
Gets all values for which their full keys contain the partial key set in any order.
|
default java.util.stream.Stream<V> |
getValuesByPartialKey(java.lang.Iterable<? extends T> partialKey,
java.lang.Iterable<java.lang.Integer> positions)
Gets all values for which their full keys contain the partial key according to the specified
positions.
|
java.util.stream.Stream<K> getFullKeysByPartialKey(java.lang.Iterable<? extends T> partialKey)
partialKey
- the combination of the sub-keys to search for.default java.util.stream.Stream<V> getValuesByPartialKey(java.lang.Iterable<? extends T> partialKey)
partialKey
- the combination of the sub-keys to search for.default java.util.stream.Stream<java.util.Map.Entry<K,V>> getEntriesByPartialKey(java.lang.Iterable<? extends T> partialKey)
partialKey
- the combination of the sub-keys to search for.default java.util.stream.Stream<V> getValuesByPartialKey(java.lang.Iterable<? extends T> partialKey, java.lang.Iterable<java.lang.Integer> positions)
partialKey
- the combination of the sub-keys to search for.positions
- the sequence of positions corresponding to the sequence of partialKey's
sub-keys, wherein the negative position signifies a non-positional sub-key to search for
anywhere within the full key, otherwise, its exact position within the full key. The
size of this list can be smaller than the partialKey list, meaning the rest of the
partialKey sub-keys are non-positional.default java.util.stream.Stream<java.util.Map.Entry<K,V>> getEntriesByPartialKey(java.lang.Iterable<? extends T> partialKey, java.lang.Iterable<java.lang.Integer> positions)
partialKey
- the combination of the sub-keys to search for.positions
- the sequence of positions corresponding to the sequence of partialKey's
sub-keys, wherein the negative position signifies a non-positional sub-key to search for
anywhere within the full key, otherwise, its exact position within the full key. The
size of this list can be smaller than the partialKey list, meaning the rest of the
partialKey sub-keys are non-positional.default java.util.stream.Stream<K> getFullKeysByPartialKey(java.lang.Iterable<? extends T> partialKey, java.lang.Iterable<java.lang.Integer> positions)
partialKey
- the combination of the sub-keys to search for.positions
- the sequence of positions corresponding to the sequence of partialKey's
sub-keys, wherein the negative position signifies a non-positional sub-key to search for
anywhere within the full key, otherwise, its exact position within the full key. The
size of this list can be smaller than the partialKey list, meaning the rest of the
partialKey sub-keys are non-positional.