方法 | 表明 |
LinkedList() | 无参构造 |
public LinkedList(Collection<? extends E> c) | 使用其他聚集容器种的元素构造List |
方法 | 表明 |
boolean add(E,e) | 在尾部插入元素e |
void add(int index,E e) | 将元素e插入到index的位置 |
boolean addAll(Collection<? extends E> c) | 在尾部插入c中的全部元素 |
E remove(int index) | 删除index位置的元素 |
boolean remove(Object o) | 删除第一个o元素 |
E get(int index) | 获取下标为index位置元素 |
E set(int index,E e) | 将下标为index位置的元素设置为e |
void clear() | 清空链表中的全部元素 |
boolean contains(Object o) | 判断o是否在线性表中 |
int indexOf(Object o) | 返回第一个o所在的下标 |
int lastIndexOf(Object o) | 返回末了一个o所在的下标 |
List<E> subList(int fromIndex,int toIndex) | 截取部门list |
差别点 | ArrayList | LinkedList |
存储空间上 | 物理上连续的 | 逻辑上连续,物理上不肯定连续 |
随机访问 | 支持,时间复杂度O(1) | 不支持,时间复杂度O(n) |
插入/删除 | 需要搬运元素,服从低,时间复杂度O(n) | 只需要修改引用的指向,时间复杂度O(1) |
扩容机制 | 当数组空间不敷时,会创建一个更大的数组并复制原数据 | 动态分配内存,每次插入时动态分配新节点 |
内存使用 | 内存分配连续,大概有空间浪费(预留空间),但内存使用服从较高。 | 每个节点需要额外存储指针,内存使用相对较高。 |
适用场景 | 元素频仍访问的场景 | 插入删除频仍的场景 |
欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |