Class ObjectScatterSet<KType>

java.lang.Object
com.carrotsearch.hppc.ObjectHashSet<KType>
com.carrotsearch.hppc.ObjectScatterSet<KType>
All Implemented Interfaces:
ObjectCollection<KType>, ObjectContainer<KType>, ObjectLookupContainer<KType>, ObjectSet<KType>, Preallocable, Cloneable, Iterable<ObjectCursor<KType>>

@Generated(date="2024-05-16T08:18:11+0000", value="KTypeScatterSet.java") public class ObjectScatterSet<KType> extends ObjectHashSet<KType>
Same as ObjectHashSet but does not implement per-instance key mixing strategy and uses a simpler (faster) bit distribution function.

Note: read about important differences between hash and scatter sets.

See Also:
  • Constructor Details

    • ObjectScatterSet

      public ObjectScatterSet()
      New instance with sane defaults.
    • ObjectScatterSet

      public ObjectScatterSet(int expectedElements)
      New instance with sane defaults.
    • ObjectScatterSet

      public ObjectScatterSet(int expectedElements, double loadFactor)
      New instance with sane defaults.
  • Method Details

    • hashKey

      protected int hashKey(KType key)
      Description copied from class: ObjectHashSet
      Returns a hash code for the given key. The default implementation mixes the hash of the key with ObjectHashSet.keyMixer to differentiate hash order of keys between hash containers. Helps alleviate problems resulting from linear conflict resolution in open addressing. The output from this function should evenly distribute keys across the entire integer range.
      Overrides:
      hashKey in class ObjectHashSet<KType>
    • from

      @SafeVarargs public static <KType> ObjectScatterSet<KType> from(KType... elements)
      Create a set from a variable number of arguments or an array of Object. The elements are copied from the argument to the internal buffer.
    • removeAll

      public int removeAll(ObjectLookupContainer<? super KType> c)
      Default implementation uses a predicate for removal.
      Specified by:
      removeAll in interface ObjectCollection<KType>
      Returns:
      Returns the number of removed elements.
    • retainAll

      public int retainAll(ObjectLookupContainer<? super KType> c)
      Default implementation uses a predicate for retaining.
      Specified by:
      retainAll in interface ObjectCollection<KType>
      Returns:
      Returns the number of removed elements.
    • retainAll

      public int retainAll(ObjectPredicate<? super KType> predicate)
      Default implementation redirects to ObjectCollection.removeAll(ObjectPredicate) and negates the predicate.
      Specified by:
      retainAll in interface ObjectCollection<KType>
      Returns:
      Returns the number of removed elements.
    • toArray

      public <T> T[] toArray(Class<T> componentClass)
      Description copied from interface: ObjectContainer
      Copies all elements of this container to a dynamically created array of the given component type.
      Specified by:
      toArray in interface ObjectContainer<KType>
    • toString

      public String toString()
      Convert the contents of this container to a human-friendly string.
      Overrides:
      toString in class Object
    • equals

      protected boolean equals(Object v1, Object v2)