-4

集合和地图有什么区别?

Map 会是 Collection 的子类吗?

4

6 回答 6

11

来自Map的JavaDoc :

将键映射到值的对象。地图不能包含重复的键;每个键最多可以映射到一个值。

来自Collection的 JavaDoc :

集合表示一组对象,称为其元素。[...] JDK [...] 提供了更具体的子接口的实现,例如 Set 和 List。

从类层次结构的角度来看,这两个接口Map相关,即不扩展Collection,也不Collection扩展Map。也就是说,这两个接口都是Java Collection Framework的一部分。

于 2013-10-23T19:51:44.820 回答
3

查看 JDK中免费提供的源代码,或者如果您没有源代码,请查看 JavaDoc for Collectionand Map,您会发现两者都是为包含其他对象的对象定义 API 的接口。

JavaDoc 比我更好地解释了这一点……来自CollectionJavaDoc:“一个集合代表一组对象,称为它的元素。”

来自MapJavaDoc:“将键映射到值的对象。”

与其他一些答案所表明的相反,它具有不同的 API ,Map并且不是扩展Collection、和的类型之一。ListQueueSet

于 2013-10-23T19:51:06.230 回答
0

集合表示一组对象,称为其元素。一些集合允许重复元素,而另一些则不允许。有些是有序的,有些是无序的。

将键映射到值的对象。地图不能包含重复的键。每个键最多可以映射到一个值。

于 2013-10-23T19:38:05.930 回答
-2

Map 是具有 Key -> Data 结构的 Collection 的更具体版本。Collection 只是具有用于在 Java 中存储数据的数据结构的接口。

于 2013-10-23T19:38:13.413 回答
-2

地图是一个集合。

集合包括列表、集合和地图。

列表是:Vector、ArrayList、LinkedList 集合是:HashSet 和 TreeSet 映射是:HashMap 和 TreeMap

映射是键值对的列表。

于 2013-10-23T19:48:47.513 回答
-3

Maps 和 Collections 之间的区别在于它们是两个截然不同的东西,几乎没有任何共同点。一个不是另一个的子类。

于 2013-10-23T19:38:26.163 回答