Implements a HashMap