Class OpenAdressingMiniSet<E>

java.lang.Object
one.microstream.util.traversing.OpenAdressingMiniSet<E>
Type Parameters:
E -
All Implemented Interfaces:
Iterable<E>, Consumer<E>, CapacityCarrying, CapacityExtendable, ConsolidatableCollection, ExtendedCollection<E>, OptimizableCollection, ReleasingCollection<E>, Sized, Truncateable, XAddGetCollection<E>, XAddGetSet<E>, XAddingCollection<E>, XAddingSet<E>, XCollection<E>, XGettingCollection<E>, XGettingSet<E>, XIterable<E>, XJoinable<E>, XProcessingCollection<E>, XProcessingSet<E>, XPutGetCollection<E>, XPutGetSet<E>, XPuttingCollection<E>, XPuttingSet<E>, XRemovingCollection<E>, XRemovingSet<E>, XSet<E>, Processable<E>, Clearable, Copyable

public final class OpenAdressingMiniSet<E>
extends Object
implements XSet<E>
Very primitive, but very fast open adressing hash XSet implementation. It is considerable faster than general purpose hash collections like HashEnum, which use chains instead of open adressing for resolving hash collisions. It also scales much better with higher element count.
Drawbacks:
- only add() implemented so far - even if fully implemented, the implementation would have no order and is technically restricted to a maximum element count equal to the maximum array length. Chain-based implementations do not have such a restriction.