Class ObjectIdentityHashSet<KType>

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

public class ObjectIdentityHashSet<KType> extends ObjectHashSet<KType>
A reference-equality (identity) hash set.
  • Constructor Details

    • ObjectIdentityHashSet

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

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

      public ObjectIdentityHashSet(int expectedElements, double loadFactor)
      New instance with the provided defaults.
      Parameters:
      expectedElements - The expected number of elements guaranteed not to cause a rehash (inclusive).
      loadFactor - The load factor for internal buffers. Insane load factors (zero, full capacity) are rejected by ObjectHashSet.verifyLoadFactor(double).
    • ObjectIdentityHashSet

      public ObjectIdentityHashSet(ObjectContainer<? extends KType> container)
      New instance copying elements from another ObjectContainer.
  • Method Details

    • hashKey

      protected int hashKey(KType key)
      Description copied from class: ObjectHashSet
      Returns a hash code for the given key.

      The output from this function should evenly distribute keys across the entire integer range.

      Overrides:
      hashKey in class ObjectHashSet<KType>
    • equals

      protected boolean equals(Object v1, Object v2)
    • from

      @SafeVarargs public static <KType> ObjectIdentityHashSet<KType> from(KType... elements)
      Create a set from a variable number of arguments or an array of KType. 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