如果查看collection framework,您会看到以下内容,但Map不在界面列表中。当我们谈论地图时,我们说它是集合框架的一部分,所以如果Map是集合框架的一部分,那么为什么它不在接口列表中。
java.util
Interface Collection
All Known Subinterfaces:
BeanContext, BeanContextServices, List, Set, SortedSet
All Known Implementing Classes:
AbstractCollection, AbstractList, AbstractSet, ArrayList, BeanContextServicesSupport, BeanContextSupport, HashSet, LinkedHashSet, LinkedList, TreeSet, Vector
答案 0 :(得分:10)
“集合框架”和Collection
界面不是一回事。
虽然可以将地图视为条目集合,但Map
不直接支持 - 您可以使用entrySet
方法获取一组条目。
但从根本上说,你需要区分“集合框架”和Collection
接口。
答案 1 :(得分:6)
Maps
与key/value pairs
合作,other collections
与just values
合作。映射将键映射到值。它允许将其内容视为一组键,一组值和一组键值映射。
检查以下链接。通过oracle回答。 https://docs.oracle.com/javase/tutorial/collections/
答案 2 :(得分:3)
它是集合框架的一部分,但它没有实现java.util.Collection
接口。
它是层次结构的不同分支。如果需要,可以在与Collection接口相同的层次结构级别上查看它。
Collection接口由类似List的集合(是其根)实现,而Map由类似KEY-VALUE的集合实现(是其根)。
答案 3 :(得分:2)
因为Map是三个集合:键,值和键值对。
要确定哪一个应该是默认迭代,这并不容易,因此它实现了三次接口(keySet()
,values()
和entrySet()
)
答案 4 :(得分:0)
Map
接口不是Collection
接口的扩展。但是,它是一种用于保存数据集合的结构。