???? 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家
???? 擅长领域:全栈工程师、爬虫、ACM算法
???? 公众号:知识浅谈
LinkedList源码分析(四)总结
正菜来了⛳⛳⛳
????LinkedList源码分析
????E peekFirst()
含义: 从列表中找到最开始的一个元素,如果first为null的话,就返回null,否则就返回f对应的item。
????E peekLast()
含义:从列表中找到最后一个元素,如果last为null的话,就返回null,否则就返回f对应的item。
????E pollFirst()
含义:检索并删除此列表的第一个元素,如果此列表为空,则返回 null。
????E pollLast()
含义:检索并删除此列表的最后一个元素,如果此列表为空,则返回 null。
????void push(E e)
含义:将元素推送到此列表表示的堆栈上。换句话说,在这个列表的前面插入元素。
函数里边调用了addFirst(e),就是把e这个元素添加到list的第一个位置。
????E pop()
含义:这个的意思是从列表中删除第一个位置的元素,并返回删除的元素,函数里边嗲用的removeFirst就是这个含义。从此列表表示的堆栈中弹出一个元素。换句话说,删除并返回此列表的第一个元素。
????E removeFirstOccurrence()
含义:删除此列表中第一次出现的指定元素(从头到尾遍历列表时)。如果列表不包含该元素,则它不变。
????boolean removeLastOccurrence(Object o)
含义:删除此列表中指定元素的最后一次出现(从头到尾遍历列表时)。如果列表不包含该元素,则它不变。
????ListIterator listIterator(int index)
含义:返回从指定index索引位置开始的一个迭代器,首先先判断index这个位置是不是超出链表的范围。
从上述函数中,我们可以看到,checkPositionIndex(index)是用来检查index是否满足要求的,接着我们往下看。
????void checkPositionIndex(int index)
含义:这个函数的意思就是检查index这个索引是否满足条件,index是否在链表的长度范围内,isPositionIndex()函数比较的index是否大于等于0且小于等于size,如果不在范围内,就抛出异常。
????总结
以上是关于LinkedList源码中存在的部分函数的解读,希望有所帮助。