一.Collection接口
Collection接口不能被实例化
但是Java已经封装好了实现类,可以借助多态来实例化一个父类的引用。
父类的引用指向子类的对象
二.遍历集合数据
1.for循环
2.迭代
3.迭代器
三.集合内存放对象
四.List接口方法
五.ArraysList, LinkedList,Vetor区别
1.ArrayList和Vector 底层是数组,但是Vector是线程安全,效率底
2.ArrayList和linkedListu区别:
1.ArrayList底层是数组
LinkedList底层是双向链表
2.ArrayList 的特征:
查询快: 底层是索引,有序的通过内存有序地址,直接找到 时间复杂度 o(1)
增删慢: 增加数据和删除数据有可能扩容,扩容量1.5倍,同时会浪费内存增加时间复杂度 时间复杂度0(n)
3.LinkedList的特征:
查询慢:底层是二分法查找的算法 时间复杂度是log以2为底 n的对数
增删快:直接找前置结点 Node prev,后继结点 Node next
时间复杂度 0(1)