8

根据http://docs.oracle.com/javase/tutorial/collections/interfaces/index.html有两个顶级接口,称为集合和映射。

将这两者分开的确切原因是什么?

是不是所有键值数据结构都实现了 map 接口,而所有其他数据结构都实现了 collections 接口?

4

2 回答 2

24

对,那是正确的!检查所有List类,然后检查所有Map相关类。

并且有这个很棒的讨论,ob this question

Java中的列表与地图

视觉上

这是一个集合,通过这个你知道书在那里,它的顺序就像 0,1,2,3...

在此处输入图像描述

但是在Map中,书籍在内存中是无序的,但是为了计算机的方便,它有一个查找书籍的键,就像在图书馆中一样。

在此处输入图像描述

于 2012-07-13T02:20:02.210 回答
6

AMap是具有映射到值的唯一键的结构。ACollection只是一组没有特定键的多个值。

List您可以在 a和 a之间进行相同的比较Map以查看差异。这个 SO question处理这些差异。

于 2012-07-13T02:19:32.167 回答