当前位置:   article > 正文

java学习之LinkedList(链表)

linkedlist

LinkedList:一种线性表,但不按照线性顺序存储数据(实际上为链表)。

链表分为单向链表和双向链表,实际应当还有循环链表。

单向链表:将一个区域分成两部分,分别为节点区域和数据域。

如下图所示:

双向链表:设置两个节点指针,使其指向前驱和后继节点,前驱表示指向它的节点,后继表示它指向的节点。

 

Linkedlist和arraylist使用方式类似,但二者执行不同操作时效率不同。

Arraylist查找和修改的效率要高,增加和删除的效率较低,linkedlist正好与之相反。

以下情况使用 ArrayList :

频繁访问列表中的某一个元素。

只需要在列表末尾进行添加和删除元素操作。

以下情况使用 LinkedList :

你需要通过循环迭代来访问列表中的某些元素。

需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。

LinkedList 继承了 AbstractSequentialList 类。

LinkedList 实现了 Queue 接口,可作为队列使用。

LinkedList 实现了 List 接口,可进行列表的相关操作。

LinkedList 实现了 Deque 接口,可作为队列使用。

LinkedList 实现了 Cloneable 接口,可实现克隆。

LinkedList 实现了 java.io.Serializable 接口,即可支持序列化,能通过序列化去传输。

Linkedlist有两个构造方法,分别为无参构造和以集合为参数进行构造。

简单代码演示如下:

输出结果为:

 

Linkedlist其他常用方法如下:

 

 

 更多相关方法可参考:LinkedList

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/935480
推荐阅读
相关标签
  

闽ICP备14008679号