org.h2.dev.hash
Class IntPerfectHash

java.lang.Object
  extended by org.h2.dev.hash.IntPerfectHash

public class IntPerfectHash
extends java.lang.Object

A minimum perfect hash function tool. It needs about 2.2 bits per key.


Nested Class Summary
static class IntPerfectHash.BitArray
          A helper class for bit arrays.
 
Constructor Summary
IntPerfectHash(byte[] data)
          Create a hash object to convert keys to hashes.
 
Method Summary
static
<K> byte[]
generate(java.util.ArrayList<java.lang.Integer> list)
          Generate the minimal perfect hash function data from the given list.
 int get(int x)
          Calculate the hash value for the given key.
 byte[] getData()
          Get the hash function description.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntPerfectHash

public IntPerfectHash(byte[] data)
Create a hash object to convert keys to hashes.

Parameters:
data - the data returned by the generate method
Method Detail

getData

public byte[] getData()
Get the hash function description.

Returns:
the data

get

public int get(int x)
Calculate the hash value for the given key.

Parameters:
x - the key
Returns:
the hash value

generate

public static <K> byte[] generate(java.util.ArrayList<java.lang.Integer> list)
Generate the minimal perfect hash function data from the given list.

Parameters:
list - the data
Returns:
the hash function description