第三章:java基本功之常用java集合实现细节

java常用集合实现细节:

3.1 Set和Map

Set代表一种集合元素无序、集合元素不可重复的集合,Map则代表一种由多个key-value组成的集合。Map集合是Set集合的扩展。

3.1.1 Set和Map的关系

Set集合的继承体系:

第三章:java基本功之常用java集合实现细节_第1张图片

Map的集合继承体系:

第三章:java基本功之常用java集合实现细节_第2张图片


Set集合和Map集合的对应关系:

Set---Map

EnumSet---EnumMap

SortedSet---SortedMap

TreeSet--- TreeMap

NavigableSet---NavigableMap

HashSet---HashMap

LinkedHashSet---LinkedHashMap

Map集合的特征:所有key不能重复,key之间没有顺序。如果将Map集合的key集中起来,这些key就组成了一个Set集合。Map集合提供了    Set<K> keySet()来返回所有key组成的Set集合。 即Map集合的所有key将具有Set集合的所有特征,只要把Map的所有key集中起来,它就是一个Set集合,从而实现了从Map到key的转换。

还可以实现从Set到Map的扩展:对于Map而言,相当于每个元素都是key-value对的Set的集合。

Map集合的另一种理解:如果把Map集合的value当成key的"附属物",那么Map集合在保存key-value对时只考虑key即可。

Map集合本质上是一个关联数组。

把Set扩展成Map:新增定义一个SimpleEntry类,该类代表一个key-value对;当Set集合的集合元素都是SimpleEntry对象时,该Set集合就能被当成Map使用。

例:将一个Set集合扩展成Map集合


你可能感兴趣的:(第三章:java基本功之常用java集合实现细节)