三种集合的示意图如下:
一、Map和Set
Map集合的key具有的特征是无序不重复,如果将Map的所有key集中起来,那么这些key就组成了一个set集合,而且事实就是Map集合提供了如下方法来返回所有key组成的集合:
可以看出keySet()的返回类型就是Set类型的。对于Map而言只要把所有的key集中起来,它就是一个set,这就是从Map到Set的转换,从Set到Map的转换,对于Map而言,相当于每个元素都是key-vallue的集合,可以说Map是Set的扩展,把Map理解成一个特殊的Set,只是该Set里面包含的集合元素时Entry对象,而不是普通对象。
二、Map和list
List相当于所有key都是int类型的Map,也可以说是Map相当于索引是任何类型的List。