Class HashEnum<E>

Type Parameters:
E - type of contained elements
All Implemented Interfaces:
Iterable<E>, Consumer<E>, CapacityCarrying, CapacityExtendable, ConsolidatableCollection, ExtendedCollection<E>, ExtendedSequence<E>, HashCollection<E>, OptimizableCollection, ReleasingCollection<E>, Sized, Truncateable, Sortable<E>, SortableProcedure<E>, XAddGetCollection<E>, XAddGetSet<E>, XAddingCollection<E>, XAddingEnum<E>, XAddingSequence<E>, XAddingSet<E>, XBasicEnum<E>, XBasicSequence<E>, XCollection<E>, XDecreasingEnum<E>, XDecreasingSequence<E>, XEnum<E>, XExpandingEnum<E>, XExpandingSequence<E>, XExtendingEnum<E>, XExtendingSequence<E>, XGettingCollection<E>, XGettingEnum<E>, XGettingSequence<E>, XGettingSet<E>, XIncreasingEnum<E>, XIncreasingSequence<E>, XIndexIterable<E>, XInputtingEnum<E>, XInputtingSequence<E>, XInsertingEnum<E>, XInsertingSequence<E>, XIterable<E>, XJoinable<E>, XOrderingEnum<E>, XOrderingSequence<E>, XPrependingEnum<E>, XPrependingSequence<E>, XPreputtingEnum<E>, XPreputtingSequence<E>, XProcessingCollection<E>, XProcessingEnum<E>, XProcessingSequence<E>, XProcessingSet<E>, XPutGetCollection<E>, XPutGetEnum<E>, XPutGetSequence<E>, XPutGetSet<E>, XPuttingCollection<E>, XPuttingEnum<E>, XPuttingSequence<E>, XPuttingSet<E>, XRemovingCollection<E>, XRemovingEnum<E>, XRemovingSequence<E>, XRemovingSet<E>, XReplacingCollection<E>, XSequence<E>, XSet<E>, XSettingEnum<E>, XSettingSequence<E>, XSortableEnum<E>, XSortableSequence<E>, IdentityEqualityLogic, Processable<E>, Clearable, Composition, Copyable

public final class HashEnum<E>
extends AbstractChainCollection<E,​E,​E,​ChainEntryLinkedStrong<E>>
implements XEnum<E>, HashCollection<E>, Composition, IdentityEqualityLogic
Collection that is ordered and does not allow duplicates. Aims to be more efficient, logically structured and with more built in features than Set.

In contrast to EqHashEnum this implementation uses the default isSame-Equalator(Equalator.identity() and the Java hashCode implementation System.identityHashCode(Object).

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.