10

如果您查看集合框架,您将看到以下内容,但 Map 不在接口列表中。当我们谈论 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 
4

5 回答 5

15

“集合框架”和Collection接口不是一回事。

虽然您可以将地图视为条目的集合,Map但不直接支持 - 您可以使用该entrySet方法获取一组条目。

但从根本上讲,您需要区分“集合框架”和Collection接口。

于 2012-08-24T07:30:04.143 回答
10

Maps工作在一起key/value pairs,而other collections工作在一起just values。Map 将键映射到值。它允许将其内容视为一组键、一组值和一组键值映射。

检查以下链接。用神谕回答。 https://docs.oracle.com/javase/tutorial/collections/

于 2012-08-24T07:35:07.080 回答
4

它是集合框架的一部分,但不实现java.util.Collection接口。

这是层次结构的不同分支。如果需要,您可以在与 Collection 界面相同的层次结构级别上查看它。

Collection 接口由类 List 集合(是其根)实现,而 Map 由类 KEY-VALUE 集合(是其根)实现。

于 2012-08-24T07:33:16.047 回答
3

因为 Map 是三个集合:键、值和键值对。

决定默认迭代哪一个并不容易,因此它实现了 3 次接口keySet()values()entrySet()

于 2012-08-24T07:30:43.303 回答
1

Map接口不是接口的扩展Collection。但是,它是一种用于保存数据集合的结构。

于 2012-08-24T07:30:29.510 回答