Search code examples
javacollectionshashmapkeyvaluepair

Difference between Pair and Hashmap?


What is the necessity to introduce Pair class when Hashmap can do the same job?

I see Pair being introduced to Java version 8


Solution

  • Your choice of which class to use is not just a message to your computer. It's also a message to future developers - people who will maintain your code in the future, or even you yourself in a few months time.

    By choosing whether to declare a particular variable as either HashMap or Pair, you're telling those future developers something. It's EITHER

    This variable references some kind of map, which uses a hash algorithm for fast retrieval.

    OR

    This variable references a pair of values.

    That will help the future developers to understand what your code is doing. Whereas you can certainly use a HashMap with a single entry instead of a Pair, it would be a very strange thing to do, and it would send entirely the wrong message to the future maintainers of your code.