java学习之LinkedList(链表)

java学习之LinkedList(链表),第1张

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

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

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

如下图所示:

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

 

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

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

以下情况使用 ArrayList :

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

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

以下情况使用 LinkedList :

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

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

LinkedList 继承了 AbstractSequentialList 类。

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

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

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

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

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

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

简单代码演示如下:

输出结果为:

 

Linkedlist其他常用方法如下:

 

 

 更多相关方法可参考:LinkedList

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/800867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-07
下一篇 2022-05-07

发表评论

登录后才能评论

评论列表(0条)

保存