Map集合是独立于Collection体系的集合。
Map集合的特点:
-
存储结构:双列集合,它是双列集合,直接子元素为键值对Entry,数据元素为Entry中的key-value。key和value分别可以抽取出成为一个集合
-
存放无序:不保证元素添加的顺序。但是有子类实现有序集合(LinkedHashMap)和排序集合(TreeMap)
-
元素不可重复:是否重复有key决定,最多包含一个为null的键。通过equals和hashCode确定元素的唯一性
-
元素没有下标:存放无序,也就无法通过下标获取
常用的三个Set类:
- HashSet:hash集合,基于HashMap的键实现;允许key为null,因为HashMap最多允许一个key为null。
- LinkHashSet:有存放顺序的hash集合,基于HashMap的键实现,但通过链表保存了存放顺序;允许key为null,因为HashMap最多允许一个key为null。
- TreeSet:排序集合,基于TreeMap的键实现;需要通过Comparator或key实现Comparable接口对key进行排序,所以不允许key为null。