Java集合接口List
ArrrayList集合
底层数据结构是数组
构造方法
ArrayList()无参构造,构造一个初始容量为10的空列表
ArrayList(int initialCapacity) 构建具有指定初始容量的空列表
ArrayList并不是一new就会创建初始容量为10的空列表,而是调用add方法后创建
ArraysList会自动扩容,每次扩容1.5倍
ArrayList集合常用方法
//bollen add(E e) 添加元素到尾部 //void add(int index,E e) 在指定索引位置上添加元素
//boolen remove(Object o) 删除指定元素,同名删除第一个出现的元素
//E remove(int index) 按索引删除元素,并返回元素值
//E set(int index,E e) 将指定索引位置的元素修改为传参中的e元素,返回被修改的元素 //E get(int index) 根据索引获取元素
//int size() 获取集合个数
LinkedList集合
LinkList是List接口的实现类
他的底层数据结构是双链表
元素有序,元素可重复
有索引(有索引的方法,并不是本质上有索引)
线程不安全
LinkList有大量直接操作首尾元素的方法
//void addFirst(E e) 将指定元素插入集合的开头 //void addLast(E e) 将指定元素添加到集合的结尾 //E getFirst() 返回列表的第一个元素 //E getLast() 返回集合最后一个元素 //E removeFirst() 移除并返回集合最后一个元素 //E removeLast() 移除并返回集合最后一个元素 //E pop() 从集合堆栈出弹出一个元素 //void push(E e) 将元素推入刺激和所表示的堆栈 //boolen isEmpty() 如果集合没有元素,则返回true