java的继承关系linkedlist_java集合之linkedList

1.linkedList的实现

linkedlist的实现是基于数据结构:双向链表。模型图如

bc79b6f0e7e2eb5d11c3a0ecf133b089.png

对于linkedList没有像arrayList一样有扩容的概念。也不需要移动数据。所以对于新增和删除操作add和remove,LinkedList比较占优势。

2.双向链表的实现

3.linkedList的继承关系

7c77b61e791b55845538c2215f60844f.png

从继承图中可以看出LinkList实现了List接口,实现了list接口中的所有方法,同时页实现了Queue接口,所以linkedList同时具备了对队列和栈操作的特点。

4.Linkedlist实现的方法

00a9c0f64bebdd54c4b55efa00759ede.png

5.重要属性

f3084b7721fede1b63a2d3e989345936.png

LinkedList执行栈操作或队列操作就是对first节点和last节点的操作

6.Node节点

230d8f3c41468552c1c81e072548536f.png

LinkedList实现的方法就不再一一叙述。

7.LinkedList遍历

1.通过迭代器遍历。即通过Iterator去遍历

2.通过快速随机访问遍历LinkedList

3.通过另外一种for循环来遍历LinkedList

4. 通过pollFirst()来遍历LinkedList

5.通过pollLast()来遍历LinkedList

6. 通过removeFirst()来遍历LinkedList

7.通过removeLast()来遍历LinkedList

8.测试:

运行结果:

c294bf76bf9164fee466d35f6aeee907.png

9f7261279271a4f74cab7ff705cb151f.png

遍历LinkedList时,使用removeFist()或removeLast()效率最高。但用它们遍历时,会删除原始数据;若单纯只读取,而不删除,应该使用第3种遍历方式。

无论如何,千万不要通过随机访问去遍历LinkedList!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值