Package org.h2.dev.hash

# Class IntPerfectHash

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

public class IntPerfectHash extends Object
A minimum perfect hash function tool. It needs about 2.2 bits per key.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`IntPerfectHash.BitArray`
A helper class for bit arrays.

## Constructor Summary

Constructors
Constructor
Description
`IntPerfectHash(byte[] data)`
Create a hash object to convert keys to hashes.

## Method Summary

Modifier and Type
Method
Description
`static byte[]`
`generate(ArrayList<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 Details

### IntPerfectHash

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

Parameters:
  `data` - the data returned by the generate method

## Method Details

### 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 byte[] generate(ArrayList<Integer> list)
Generate the minimal perfect hash function data from the given list.

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