Class EqHashTable<K,​V>

java.lang.Object
one.microstream.collections.AbstractExtendedCollection<E>
one.microstream.collections.AbstractChainCollection<KeyValue<K,​V>,​K,​V,​EN>
one.microstream.collections.AbstractChainKeyValueCollection<K,​V,​one.microstream.collections.ChainMapEntryLinkedHashedStrongStrong<K,​V>>
one.microstream.collections.EqHashTable<K,​V>
Type Parameters:
K - type of contained keys
V - type of contained values
All Implemented Interfaces:
Iterable<KeyValue<K,​V>>, Consumer<KeyValue<K,​V>>, CapacityCarrying, CapacityExtendable, ConsolidatableCollection, ExtendedCollection<KeyValue<K,​V>>, ExtendedMap<K,​V>, ExtendedSequence<KeyValue<K,​V>>, HashCollection<K>, OptimizableCollection, ReleasingCollection<KeyValue<K,​V>>, Sized, Truncateable, Sortable<KeyValue<K,​V>>, SortableProcedure<KeyValue<K,​V>>, XAddGetCollection<KeyValue<K,​V>>, XAddGetMap<K,​V>, XAddGetSet<KeyValue<K,​V>>, XAddingCollection<KeyValue<K,​V>>, XAddingEnum<KeyValue<K,​V>>, XAddingMap<K,​V>, XAddingSequence<KeyValue<K,​V>>, XAddingSet<KeyValue<K,​V>>, XAddingTable<K,​V>, XBasicEnum<KeyValue<K,​V>>, XBasicSequence<KeyValue<K,​V>>, XBasicTable<K,​V>, XCollection<KeyValue<K,​V>>, XDecreasingEnum<KeyValue<K,​V>>, XDecreasingSequence<KeyValue<K,​V>>, XEnum<KeyValue<K,​V>>, XExpandingEnum<KeyValue<K,​V>>, XExpandingSequence<KeyValue<K,​V>>, XExtendingEnum<KeyValue<K,​V>>, XExtendingSequence<KeyValue<K,​V>>, XGettingCollection<KeyValue<K,​V>>, XGettingEnum<KeyValue<K,​V>>, XGettingMap<K,​V>, XGettingSequence<KeyValue<K,​V>>, XGettingSet<KeyValue<K,​V>>, XGettingTable<K,​V>, XIncreasingEnum<KeyValue<K,​V>>, XIncreasingSequence<KeyValue<K,​V>>, XIndexIterable<KeyValue<K,​V>>, XInputtingEnum<KeyValue<K,​V>>, XInputtingSequence<KeyValue<K,​V>>, XInsertingEnum<KeyValue<K,​V>>, XInsertingSequence<KeyValue<K,​V>>, XIterable<KeyValue<K,​V>>, XJoinable<KeyValue<K,​V>>, XMap<K,​V>, XOrderingEnum<KeyValue<K,​V>>, XOrderingSequence<KeyValue<K,​V>>, XPrependingEnum<KeyValue<K,​V>>, XPrependingSequence<KeyValue<K,​V>>, XPreputtingEnum<KeyValue<K,​V>>, XPreputtingSequence<KeyValue<K,​V>>, XProcessingCollection<KeyValue<K,​V>>, XProcessingEnum<KeyValue<K,​V>>, XProcessingMap<K,​V>, XProcessingSequence<KeyValue<K,​V>>, XProcessingSet<KeyValue<K,​V>>, XPutGetCollection<KeyValue<K,​V>>, XPutGetEnum<KeyValue<K,​V>>, XPutGetMap<K,​V>, XPutGetSequence<KeyValue<K,​V>>, XPutGetSet<KeyValue<K,​V>>, XPuttingCollection<KeyValue<K,​V>>, XPuttingEnum<KeyValue<K,​V>>, XPuttingMap<K,​V>, XPuttingSequence<KeyValue<K,​V>>, XPuttingSet<KeyValue<K,​V>>, XRemovingCollection<KeyValue<K,​V>>, XRemovingEnum<KeyValue<K,​V>>, XRemovingMap<K,​V>, XRemovingSequence<KeyValue<K,​V>>, XRemovingSet<KeyValue<K,​V>>, XReplacingCollection<KeyValue<K,​V>>, XSequence<KeyValue<K,​V>>, XSet<KeyValue<K,​V>>, XSettingEnum<KeyValue<K,​V>>, XSettingSequence<KeyValue<K,​V>>, XSortableEnum<KeyValue<K,​V>>, XSortableSequence<KeyValue<K,​V>>, XTable<K,​V>, Processable<KeyValue<K,​V>>, Clearable, Composition, Copyable

public final class EqHashTable<K,​V>
extends AbstractChainKeyValueCollection<K,​V,​one.microstream.collections.ChainMapEntryLinkedHashedStrongStrong<K,​V>>
implements XTable<K,​V>, HashCollection<K>, Composition
Collection of key-value-pairs that is ordered and does not allow duplicate keys. Aims to be more efficient, logically structured and with more built in features than Map.

Additionally to the HashTable, this implementation needs an HashEqualator to first define equality between elements and second define the hash method to use.

This implementation is not synchronized and thus should only be used by a single thread or in a thread-safe manner (i.e. read-only as soon as multiple threads access it).
See SynchSet wrapper class to use a list in a synchronized manner.

Also note that by being an extended collection, this implementation offers various functional and batch procedures to maximize internal iteration potential, eliminating the need to use the ill-conceived external iteration Iterator paradigm.