A Java implementation of a dynamic perfect hash. This implementation is based upon the work done by Dietzfelbinger et. al in their paper Dyanamic Perfect Hashing: Upper and Lower Bounds and uses the standard doubling scheme for dynamically allocating the size of the table and bins.