学习笔记LinkedList源码学习

学习笔记


LinkedList
public class LinkedList
extends AbstractSequentialList
implements List, Deque, Cloneable, java.io.Serializable 继承AbstractSeqentialList,实现了List,Cloneable,Serializable接口
Node node(int index) LinkedList数据存储在没一个node节点当中
transient Node first 链表的第一个节点
transient Node last 链表的最后一个节点
LinkedList(Collection<? extends E> c) 一个Collection类型的参数,将c中所有的元素添加到当前链表
private static class Node LinkedList的内部类,包含内容,前驱和后继
void linkBefore(E e, Node succ) 在节点succ前年插入内容e
E unlinkFirst(Node f) 将first指向节点f的下一个节点,将f下一个的节点的前驱置空
E unlink(Node x) 删除节点x
E getFirst() 获取第一个节点的内容
E getLast() 获取最后一个节点的内容
E removeFirst() 删除第一个节点
E removeLast() 删除最后一个节点
void addFirst(E e) 将新建节点内容数据为e,插入到first之前,并将first重新设置
void addLast(E e) 将新建节点内容数据为e,插入到last之后,并将last重新设置
boolean contains(Object o) 判断内容为o的节点是否存在
int size() 返回当前节点的个数
boolean add(E e) 在结尾添加一个节点,内容为e成功返回true
boolean remove(Object o) 移除内容为o的节点,成功返回true
boolean addAll(int index, Collection<? extends E> c) 从第index个元素开始,添加c里面的所有元素
void clear() 清空所有元素
E get(int index) 获取下标为index的元素内容
E set(int index, E element) 把第index个元素替换为element,并返回原有元素内容
void add(int index, E element) 如果index等于size,则将内容为element的节点插入到最后一个,否则,插入到第index个元素的前面
E remove(int index) 移除第index个元素
int indexOf(Object o) 返回元素内容为o的元素下标
int lastIndexOf(Object o) 返回最后一个元素的下标
E peek() 返回第一个元素的数据内容,为空时返回null
E element() 返回第一个节点
E poll() 如果第一个节点不为空则把第一个节点删除
boolean offer(E e) 新添加一个节点,内容为e,成功返回true
void push(E e) 在第一个节点前添加一个新的节点,内容为e
E pop() 将第一个节点移除
ListIterator listIterator(int index) LinkedList迭代器,从下标index节点开始,可以hasnext()正向迭代,也可以hasprevious()逆向迭代。next(),previous()方法获取当前的节点内容并返回有add()、remove()、set()方法进行增删改节点
Object[] toArray() 将节点中所有的元素的内容作为一个集合返回

发布了16 篇原创文章 · 获赞 1 · 访问量 422

猜你喜欢

转载自blog.csdn.net/qq_39898191/article/details/98860742
今日推荐