当HashMap可以完成同样的工作时,为什么需要引入Pair类?
我看到Pair被引入到Java 8版本中。
HashMap
或 Pair
中的一个,您会告诉这些未来的开发人员一些信息。它可能是以下两种情况之一:
或者此变量引用某种映射,该映射使用哈希算法进行快速检索。
这将有助于未来的开发人员理解您的代码在做什么。虽然您可以使用只有一个条目的此变量引用一对值。
HashMap
替代 Pair
,但这是非常奇怪的事情,并且会向未来维护人员传递完全错误的信息。一个pair(对)基本上是将一个简单的键与值关联在一起的便捷方式。Map也可以存储键值对,但它是将多个pair集合在一起并作为整体进行操作。
很多时候我们仅需要一个独立的键值对,例如:
当我们只需要一个单一的键值对时,使用Map会使事情更加复杂。
Pair<K, V>
是 JavaFX 的一部分,而 Hashmap 则在核心 API 中。你很可能可以使用 Pair
来创建一个 hashmap 实现(我没有测试过,但我看不出为什么不行),但是 Pair
不同于 HashMap
。
HasMap
是一组Pairs
的集合。 - GuyPair
和HashMap
是在做同样的事情?一个Pair
是用于存储两个值的对象,昵称为key
和value
,但也可以命名为foo
和bar
,因为它们对于类来说根本没有任何意义。而HashMap
是一种关联数据结构,将唯一的键映射到值。它们没有任何共同点。 - Andreas