Pair和Hashmap之间的区别?

时间:2017-07-30 04:21:22

标签: java collections hashmap keyvaluepair

当Hashmap可以执行相同的工作时,有必要引入Pair类吗?

我看到Pair正在引入Java版本8

3 个答案:

答案 0 :(得分:10)

您选择使用哪个类不仅仅是向您的计算机发送的消息。它也是未来开发人员的信息 - 将来会维护您的代码的人,甚至是几个月后您自己的代码。

通过选择是否将特定变量声明为HashMapPair,您可以告诉那些未来的开发人员。它的

  

此变量引用某种地图,该地图使用哈希算法进行快速检索。

  

此变量引用一对值。

这将有助于未来的开发人员了解您的代码正在做什么。虽然你当然可以使用单HashMap而不是Pair,但这将是一件非常奇怪的事情,并且会向你未来的代码维护者发送完全错误的信息。

答案 1 :(得分:2)

从本质上说,一对是将简单键与值相关联的便捷方法。映射在存储键值对时也做同样的事情,但是映射存储对的集合并对其进行整体操作。

我们要求键值对应独立存在的次数,例如:

  • 键值对需要作为参数传递给方法,或者
  • 一个方法只需要以一对形式返回两个值

当我们只需要一对键值时,地图会使事情变得复杂。

答案 2 :(得分:0)

Pair<K, V>是JavaFX的一部分,而Hashmap是核心API。您很可能使用Pair来创建一个hashmap实现(我没有对此进行测试,但我认为没有理由为什么不这样做),但PairHashMap不同}。