【发布时间】:2023-03-24 20:50:02
【问题描述】:
我们知道 Map 是一个由 HashMap、TreeMap 类实现的接口...
由于所有这些实现类都具有相同的条目模式(即键值对), 为什么我们不应该在 Map Interface 本身中使用这种 Entry 模式?
将这个 Entry 模式单独设置为嵌套在 Map Interface 中的 Interface 的目的是什么?
提前致谢。
【问题讨论】:
-
Map在某种意义上是Entry对象的集合。您如何期望它成为一个条目?你能举个例子说明Map将如何被定义为实现Entry的接口/合同吗? -
他们本可以这样做,但是由于
Entry属于Map,我相信他们想把它放在Map接口中。 -
我同意。正如您所说, Map 是 Entry 对象的集合,但我的问题是为什么我们需要将此条目设计为单独的接口,因为所有映射实现类都具有与条目相同的对象模式。为什么我们没有在 'Entry' 接口中声明的所有方法都没有在 'Map' 本身中声明? @欧内斯特·基维尔
-
@Anonymous 单个
Entry的方法与该单个条目相关。Map的方法与所有条目相关。Entry有一个方法getKey(),如果在Map里面,会返回哪个key?