Collection集合的继承关系:
Collection(接口)<–List(接口)<–Vector
Collection(接口)<–List(接口)<–ArrayList
Collection(接口)<–List(接口)<–LinkedList
Collection(接口)<–Set(接口)<–HashSet(实现类)
Collection(接口)<–Set(接口)<–HashSet(实现类) <–LinkedHashSet (实现类)
Collection(接口)<–Set(接口)<–SortedSet(接口)<–TreeSet(实现类)
集合主要分为两大类:
Collection集合类:存取数据时是单个存取。
Map集合:按<键,值>对存取数据的。比如<“lidapao”,18><“zhangdapao”,19>这就是一个键值对。又叫做一个
Collection的父接口:Collection接口继承了Iterate接口,有iterate()方法。
所以所有的Collection集合都是可以迭代iterate()的。
什么是迭代:顺序的访问集合中每一个元素,只访问一次。iterate迭代器不管底层数据结构是什么都可以访问。
Collection的子接口有很多,目前只说,List集合,和Set集合
List集合特点:存储的数据是有序的,可以重复的,有序指的是存储顺序和添加顺序一样。
List集合接口实现类(只说三个):
ArrayList:底层数据结构是数组,优点是访问快,缺点添加删除元素效率低,线程不安全。
Vector: 底层数据结构也是数组,但是线程安全
LikedList: 底层是双向链表,添加删除效率高,但是访问慢。
Set集合特点:存储数据时无序的,不可以重复,正好和List相反。
NavigableSet 继承了 SortedSet 继承了 Set 继承了Collection。
Set实现类HashSet:底层是HashMap,HashSet就是HashMap的键的集合,向HashSet中添加元素就是把该元素作为键添加到HashMap中。
SorteSet:可以对元素进行自然排序,要求集合中元素必须是可以比较的。
NavigableSet 实现了TreeSet:因为NavigableSet 继承了 SortedSet ,可以对集合的元素进行自然排序,TreeSet底层是TreeMap,TreeSet就是TreeMap的键的集合。