Java 收藏和地图有什么区别?

Java 收藏和地图有什么区别?,java,collections,map,Java,Collections,Map,收藏和地图有什么区别 映射是否是集合的子类?集合表示一组对象,称为其元素。某些集合允许重复元素,而其他集合则不允许。有些是有序的,有些是无序的 将键映射到值的对象。映射不能包含重复的键。每个键最多可以映射到一个值。映射是具有键->数据结构的集合的更具体版本。集合只是一个接口,它具有用于在Java中存储数据的数据结构。映射和集合之间的区别在于,它们是两个截然不同的东西,几乎没有任何共同之处。一个不是另一个的子类。地图是一个集合 集合包括列表、集合和地图 列表包括:Vector、ArrayList、

收藏和地图有什么区别


映射是否是集合的子类?

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


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

映射是具有键->数据结构的集合的更具体版本。集合只是一个接口,它具有用于在Java中存储数据的数据结构。

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

地图是一个集合

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

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


map是一个键值对列表。

看看JDK中免费提供的JavaDoc,或者如果没有,JavaDoc for and,您将看到这两个接口都为包含其他对象的对象定义了API

JavaDoc比我解释的更好。。。 来自集合JavaDoc:集合表示一组对象,称为其元素

来自MapJavadoc:一个将键映射到值的对象

与其他一些答案所表明的相反,Map具有不同的API,并且不是扩展集合的类型之一,如列表、队列和集合。

来自以下的JavaDoc:

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

从以下文件的JavaDoc:


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


从类层次的角度来看,这两个接口并不相关,即Map不扩展集合,集合也不扩展Map。也就是说,这两个接口都是集合的一部分。

Map是集合。@iluxa很遗憾你被那些没有意识到Map没有实现集合接口的人否决了。我知道,对吧:好吧,嘿,至少我的程序可以工作!:我不是说继承。集合只是包含其他对象的任何对象。地图是有用的。所以地图是一个集合。如果你说它们是两种截然不同的东西,那你就错了。我不是说继承。集合只是包含其他对象的对象。映射、数组、列表和其他容器都是集合。若你们的意思是map并没有实现收集接口,你们应该这么说,我很乐意取消我的否决票。