Class DoubleObjectScatterMap<VType>

java.lang.Object
com.carrotsearch.hppc.DoubleObjectHashMap<VType>
com.carrotsearch.hppc.DoubleObjectScatterMap<VType>
All Implemented Interfaces:
DoubleObjectAssociativeContainer<VType>, DoubleObjectMap<VType>, Preallocable, Cloneable, Iterable<DoubleObjectCursor<VType>>

@Generated(date="2023-09-14T00:00:00+0000", value="KTypeVTypeScatterMap.java") public class DoubleObjectScatterMap<VType> extends DoubleObjectHashMap<VType>
Same as DoubleObjectHashMap 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.

  • Constructor Details

    • DoubleObjectScatterMap

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

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

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

    • hashKey

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

      The default implementation mixes the hash of the key with DoubleObjectHashMap.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 DoubleObjectHashMap<VType>
    • from

      public static <VType> DoubleObjectScatterMap<VType> from(double[] keys, VType[] values)
      Creates a hash map from two index-aligned arrays of key-value pairs.