Pair 和 Hashmap 的区别?
Difference between Pair and Hashmap?
为什么引入Pair class Hashmap 可以做同样的工作?
我看到 Pair 被引入 Java 版本 8
Pair<K, V>
是 JavaFX 的一部分,而 Hashmap 是核心 API。您很可能会使用 Pair
来创建哈希图实现(我没有测试过这个,但我看不出为什么不这样做),但是 Pair
与 [=13= 不同].
您选择使用哪个 class 不仅仅是向您的计算机发送的消息。这也是给未来开发人员的信息——将来会维护您的代码的人,甚至是几个月后您自己。
通过选择是否将特定变量声明为 HashMap
或 Pair
,您是在告诉那些未来的开发人员一些事情。这是 EITHER
This variable references some kind of map, which uses a hash algorithm for fast retrieval.
或
This variable references a pair of values.
这将有助于未来的开发人员了解您的代码在做什么。尽管您当然可以在单个条目中使用 HashMap
而不是 Pair
,但这样做会很奇怪,而且它会向代码的未来维护者发送完全错误的信息。
一对基本上是一种将简单键与值相关联的便捷方式。 Maps 做同样的事情来存储键值对,但 maps 存储键值对的集合并将它们作为一个整体来操作。
我们要求键值对单独存在的次数,例如:
- 需要将键值对作为参数传递给方法,或者
- 一个方法只需要return成对形式的两个值
当我们只需要一对键值时,Map 会使事情变得复杂。
为什么引入Pair class Hashmap 可以做同样的工作?
我看到 Pair 被引入 Java 版本 8
Pair<K, V>
是 JavaFX 的一部分,而 Hashmap 是核心 API。您很可能会使用 Pair
来创建哈希图实现(我没有测试过这个,但我看不出为什么不这样做),但是 Pair
与 [=13= 不同].
您选择使用哪个 class 不仅仅是向您的计算机发送的消息。这也是给未来开发人员的信息——将来会维护您的代码的人,甚至是几个月后您自己。
通过选择是否将特定变量声明为 HashMap
或 Pair
,您是在告诉那些未来的开发人员一些事情。这是 EITHER
This variable references some kind of map, which uses a hash algorithm for fast retrieval.
或
This variable references a pair of values.
这将有助于未来的开发人员了解您的代码在做什么。尽管您当然可以在单个条目中使用 HashMap
而不是 Pair
,但这样做会很奇怪,而且它会向代码的未来维护者发送完全错误的信息。
一对基本上是一种将简单键与值相关联的便捷方式。 Maps 做同样的事情来存储键值对,但 maps 存储键值对的集合并将它们作为一个整体来操作。
我们要求键值对单独存在的次数,例如:
- 需要将键值对作为参数传递给方法,或者
- 一个方法只需要return成对形式的两个值
当我们只需要一对键值时,Map 会使事情变得复杂。