Search code examples
javacollectionshashmaphashtable

Problems using HashMap


I'm trying to solve an analytic problem just for study data structures. My doubt is with the HashTable in Java.

I have a HashMap

HashMap<String, Integer> map = new HashMap<>();

And this HashMap has any fewer keys, but, some of these keys are duplicated.

map.put('k', 1);
map.put('k', 2);

And So on...

My question is when I am gonna remove a key to the HashMap. Some of these keys are duplicated too.

Let's see.

map.remove('k');

I suppose that in this case, it will remove all the values with the key 'k' or it just only remove the first it found.

What's going to happen in this case? I'm a little confused.

Thanks for your help!!


Solution

  • In HashMap (or HashTable) you can only have UNIQUE KEYS, you cannot have different values assigned to the same key. In your code you attempt put 2 different values with the same key:

    map.put('k', 1);
    map.put('k', 2);
    

    Guess what, there will be no 2 entries, but only 1, the last, which will REPLACE previous one, since they have the same key - 'k'. Hence, map.remove('k'); will remove everything which is just one single entry, not two.