Package gnu.trove

Class PrimeFinder

java.lang.Object
gnu.trove.PrimeFinder

public final class PrimeFinder extends Object
Used to keep hash table capacities prime numbers. Not of interest for users; only for implementors of hashtables.

Choosing prime numbers as hash table capacities is a good idea to keep them working fast, particularly under hash table expansions.

However, JDK 1.2, JGL 3.1 and many other toolkits do nothing to keep capacities prime. This class provides efficient means to choose prime capacities.

Choosing a prime is O(log 300) (binary search in a list of 300 ints). Memory requirements: 1 KB static memory.

Version:
1.0, 09/24/99
Author:
wolfgang.hoschek@cern.ch
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The largest prime this class can generate; currently equal to Integer.MAX_VALUE.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static final int
    nextPrime(int desiredCapacity)
    Returns a prime number which is >= desiredCapacity and very close to desiredCapacity (within 11% if desiredCapacity >= 1000).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • largestPrime

      public static final int largestPrime
      The largest prime this class can generate; currently equal to Integer.MAX_VALUE.
      See Also:
  • Constructor Details

    • PrimeFinder

      public PrimeFinder()
  • Method Details

    • nextPrime

      public static final int nextPrime(int desiredCapacity)
      Returns a prime number which is >= desiredCapacity and very close to desiredCapacity (within 11% if desiredCapacity >= 1000).
      Parameters:
      desiredCapacity - the capacity desired by the user.
      Returns:
      the capacity which should be used for a hashtable.