LinkedList 源码分析(三)
🍁 作者:知识浅谈,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 源码函数分析解读总结,希望对你有所帮助。
版权声明: 本文为 InfoQ 作者【知识浅谈】的原创文章。
原文链接:【http://xie.infoq.cn/article/1204d9c0c66d10dac2d98d49f】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论