集合

ArrayList
- 优点:ArrayList底层用的是Object数组,因为数组内存空间是连续的 所以查询性能很高 时间复杂度 O(1);
- 缺点:ArrayList底层用的是Object数组;所以在进行删除元素和指定位置新增的时候 因为涉及到元素移动 所以性能较低 O(n)
List list = nwe ArrayList();
list.add();
list.remove();
list.size();
list.set();
list.indexOf()//指定对象在集合中首次出现的索引值
list.lastIndexOf()//指定对象在集合中最后一次出现的索引值
list.subList() //subList方法用于 生成子集合 [from,to)
LinkedList
- 优点:LinkedList底层是双向链表,双向链表因为内存空间不连续 所以查询性能较低 时间复杂度O(n/2)
- 缺点:在进行元素删除和指定位置新增的时候 只需要改动前后两个节点的指向即可 不需要元素移动 所以性能较高
Vector
//Vector底层也是Object数据 和ArrayList是一样的;但是它是线程安全,ArrayList和LinkedList是线程不安全的;
Vector<String> vector = new Vector<>();