org.h2.dev.hash

## Class IntPerfectHash

- java.lang.Object
- - 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

Nested Classes
`static class` `IntPerfectHash.BitArray` A helper class for bit arrays.

### Constructor Summary

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

### Method Summary

Methods
`static 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 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