Java 为什么地图不是“地图”;“真的”;收集

Java 为什么地图不是“地图”;“真的”;收集,java,collections,map,Java,Collections,Map,我在Java集合教程中遇到了这个问题: “还要注意,层次结构由两个不同的树组成-映射不是真正的集合。” 这让我很困惑,因为我一直认为地图是一种收藏。有人能解释一下这意味着什么吗 什么是“真实”集合?为什么地图不是其中之一?不是真实的集合,因为它不扩展接口。除此之外,它是一个概念集合。映射是键和值之间的关联。其他(真实)收藏包括。。。相似值的集合。在同一接口下整合如此不同的数据结构几乎是不可能的。这就是为什么集合实现接口Collection和地图实现接口MapMap不是真正的Collection的

我在Java集合教程中遇到了这个问题:

“还要注意,层次结构由两个不同的树组成-映射不是真正的集合。”

这让我很困惑,因为我一直认为地图是一种收藏。有人能解释一下这意味着什么吗


什么是“真实”集合?为什么地图不是其中之一?

不是真实的
集合,因为它不扩展接口。除此之外,它是一个概念集合。

映射是键和值之间的关联。其他(真实)收藏包括。。。相似值的集合。在同一接口下整合如此不同的数据结构几乎是不可能的。这就是为什么集合实现接口
Collection
和地图实现接口
Map

Map
不是真正的
Collection
的原因。因为
Collection
接口在很大程度上与
Map
接口不兼容。如果
Map
extended
Collection
,那么
add(Object)
方法会做什么

这两个接口具有非常不同的语义。如果需要将地图的值或键作为集合,则始终可以使用
keySet()
/
values()


请更准确地参考

,这是一个真实的收藏,但不是一个真实的
收藏
+1,我无法如此简短和清晰地表达这一点。