I think hashtable would be a better choice
A HashMap will do the same, except that HashTable is thread-safe. Yor argument does not justify the use of a HashMap
But my problem now is it allows multiple same key values.
What do you mean ? A map cannot contain duplicate keys. If you want to avoid overwriting the same key, you can call the containsKey method to check if the key already exist.