Class HashOrderMixing

java.lang.Object
com.carrotsearch.hppc.HashOrderMixing

public final class HashOrderMixing extends Object
Factory methods to acquire the most common types of HashOrderMixingStrategy.
See Also:
  • Field Details

  • Constructor Details

    • HashOrderMixing

      private HashOrderMixing()
  • Method Details

    • randomized

      public static HashOrderMixingStrategy randomized()
      Returns a randomized HashOrderMixingStrategy that issues unique per-container seed. This minimizes the chances of hash distribution conflicts.
    • constant

      public static HashOrderMixingStrategy constant(long seed)
      A constant HashOrderMixingStrategy. This is useful if one needs to have deterministic key distribution but wishes to control it manually. Do not use the same constant for more than one container. Consider using scatter maps or sets instead of constant hash order mixer.
    • deterministic

      @Deprecated public static HashOrderMixingStrategy deterministic()
      Deprecated.
      Permanently deprecated as a warning signal.
      Deterministic HashOrderMixingStrategy will reorder keys depending on the size of the container's buffer. This is inherently unsafe with hash containers using linear conflict addressing. The only use case when this can be useful is to count/ collect unique keys (for which scatter tables should be used).
    • none

      @Deprecated public static HashOrderMixingStrategy none()
      Deprecated.
      Permanently deprecated as a warning signal.
      This strategy does not change the hash order of keys at all. This is inherently unsafe with hash containers using linear conflict addressing. The only use case when this can be useful is to count/ collect unique keys (for which scatter tables should be used).
    • defaultStrategy

      public static HashOrderMixingStrategy defaultStrategy()
      Returns the currently configured default HashOrderMixingStrategy.