前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java集合Queue-LinkedList

Java集合Queue-LinkedList

作者头像
用户8902830
发布2021-08-12 11:03:08
2670
发布2021-08-12 11:03:08
举报
文章被收录于专栏:CodeNoneCodeNone

1 前言

本篇文章主要讲的是Queue接口,以及它的3个常用实现类之一的LinkedList,其实它的常用实现类还有几个,不过都是java.util.concurrent 包下面的,后面讲多线程的时候会专开一个系列来写。

先来看看Queue接口中声明的常用方法,有关数据的基础用法真的离不开增删改查。

1.1 常用方法

「增加:」

  • offer[XXX](E e)
  • add[xxx](E e)
  • push(E e)

「删除:」

  • remove[XXX]()
  • poll[XXX]()
  • pop()

「查询:」

  • peek[XXX+]()

2 LinkedList

在这个系列的上一篇文章也提到过LinkedList 是实现了2个ListQueue 接口,有关LinkedList 的结构以及Node 结点的结构可以看看上篇文章。

2.1 增加

  1. offer[xxx]
  1. add[xxx]
  1. push

可以发现最后本质都是调用了linkFirst 或者linkLast ,由于两者的实现接近相同,仅以linkFirst 举例

2.2 删除

  1. remove[XXX]
  1. poll[XXX]()
  1. pop()

可以看到无论是删除头节点还是尾结点,核心都是调用了unlinkxxx 方法,查看unlinkFirst源码,注意在分析这段代码的时候unlink传入的参数要么是first要么是last

2.3 查看

可以看到peek 要么是查看头元素,要么是查看尾元素,所以直接返回first或者last 对应的值就好了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CodeNone 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 前言
    • 1.1 常用方法
    • 2 LinkedList
      • 2.1 增加
        • 2.2 删除
          • 2.3 查看
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档