???? 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家
???? 擅长领域:全栈工程师、爬虫、ACM算法
???? 公众号:知识浅谈
LinkedList源码分析(三)总结 正菜来了⛳⛳⛳
????LinkedList源码函数
????boolean contains(Object o)
含义:这个函数的意思就是查看对象o是不是在linkedList中存在,存在了就返回true,否则就返回false。
可以看到函数中调用了indexOf(o)这个函数,这个函数的意思是查找o对象在linkedlist中的位置,我们接着往下看
????int indexOf(Object o)
含义:这个函数的作用就是从列表中查找对应存在的值是否有等于o的,如果没有返回-1,有的话返回第一次出现和o相同元素的索引,可以看到在最开始有一个判断,判断o是不是为空,如果不为空,使用equals方法,如果o为空,使用==符号。
????int lastIndexOf(Object o)
含义:返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回 -1。更正式地说,返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最高索引 i,如果没有这样的索引,则返回 -1。
????E peek()
含义:检索但不删除此列表的头部(第一个元素),如果第一个元素为空,则就返回null。
????E element()
含义:这个和上边的这个有点区别,就是返回第一个元素,但是是调用getFirst()函数,这个函数中会先判断第一个元素是不是null,如果是null,就抛出异常,否则就返回第一个元素。
????E poll()
含义:这个函数是用于删除第一个元素的,如果第一个元素为空的话直接返回null,也就是表示删除的元素,否则的话,就调用unlinkFirst(f) 返回f这个头节点并把头节点first指向其下一个节点。
????E remove()
含义:移除列表中的第一个元素,函数中调用了removeFirst函数,这个函数中会先判断是不是第一个是null,是null的话就会抛出异常,否则就会把first指向的元素的下一个用first指向。
????offer(E e)
含义:offer(E e) 就是在原来的list列表上添加一个元素e,其内部还是调用的add(e)函数来实现的。
????offerFirst(E e)
含义:offerFirst(E e) 就是在原来的list列表的第一个位置上添加一个元素e,其内部还是调用的addFirst(e)函数来实现的。
????总结
以上是关于LinkedList源码函数分析解读总结,希望对你有所帮助。