Iterator:Collection,Map.
Collection:Set,List.
Set:HashSet,TreeSet.
HashSet:LinkedHashSet.
Map:HashMap,TreeMap.
HashMap:LinkHashMap.
List与Map,Set的区别
List 集合中对象按照下标索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,例如通过list.get(下标)方法来获取集合中的元素;
Map 中的每一个元素包含一个键和一个值,成对出现,键对象不可以重复,值对象可以重复;
Set 集合中的对象不按照特定的方式排序,并且没有重复对象,但它的实现类能对集合中的对象按照特定的方式排序,例如 TreeSet 类,可以按照默认顺序,也可以通过实现 Java.util.Comparator接口来自定义排序方式。
ArrayList和LinkedList的区别
ArrayList底层是基于数组实现, 可以通过下标快速随机访问其中的某个元素;但是往其中插入元素或者删除元素,需要有数组拷贝,性能不高。(查询优势)
LinkedList底层是双向链表,随机访问其中的元素需要遍历链表,性能不高;往头部或者尾部插入、移除元素性能比较高。(增删优势)
TreeMap与TreeSet
TreeMap是key有序的键值对容器,即它会对key进行排序,和TreeSet类似,它底层也用到了树形结构