javase基础回顾LinkedList需要注意的知识点 阅读源码收获

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javase基础回顾LinkedList需要注意的知识点 阅读源码收获相关的知识,希望对你有一定的参考价值。

技术分享

我们在学习这一块内容时需要注意的一个问题是 集合中存放的依然是对象的引用而不是对象本身。

List接口扩展了Collection并声明存储一系列元素的类集的特性。使用一个基于零的下标,元素可以通过它们在列表中的位置被插入和访问。一个列表可以包含重复元素。List在集合中是一个比较重要的知识点也是在开发中最常用的。

 LinkedList 的底层实现是用双链表实现的

当执行插入或者删除操作时用LinkedList比较好,这和底层实现有关,因为他是用双链表实现的当执行插入或是删除或是增加操作时链表其余的对象并没有发生位置上的改变,因为改变的只是与之相关的引用,链表里的对象在内存上的位置也可能根本就没有挨着。
 
LinkedList的工作原理
linkedlist里存放的并不是对象本身而是对象的引用在源代码中有Entry这个内部类,这个Entry内部类里有前趋 后记等属性,存放的对象的引用就是作为Entry对象的属性存放在Entry对象里。(JDK1.6中是这样)在JDK1.8中还是用的这样的方式,也是用一个内部类作为链表中的一个个容器,但是不再叫Entry了,而是叫Node。
 1     private static class Node<E> {
 2         E item;
 3         Node<E> next;
 4         Node<E> prev;
 5 
 6         Node(Node<E> prev, E element, Node<E> next) {
 7             this.item = element;
 8             this.next = next;
 9             this.prev = prev;
10         }
11     }

 

 
 
 
 
 
 
 
 
 

 

以上是关于javase基础回顾LinkedList需要注意的知识点 阅读源码收获的主要内容,如果未能解决你的问题,请参考以下文章

javaSE基础之 LinkedList的底层简单实现

javase基础回顾 对java平台的理解

JavaSe基础回顾

20_JavaSE_LinkedList类

第302天学习打卡(知识点回顾 arraylist 和 linkedlist 区别)

第302天学习打卡(知识点回顾 arraylist 和 linkedlist 区别)