A hashmap implementation