关于java:Java基础集合QueueLinkedList

2次阅读

共计 593 个字符,预计需要花费 2 分钟才能阅读完成。

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]

  2. add[xxx]

  3. push

    能够发现最初实质都是调用了linkFirst 或者linkLast,因为两者的实现靠近雷同,仅以linkFirst 举例

2.2 删除

  1. remove[XXX]

  1. poll[XXX]()

  2. pop()

    能够看到无论是删除头节点还是尾结点,外围都是调用了 unlinkxxx 办法,查看unlinkFirst 源码,留神在剖析这段代码的时候 unlink 传入的参数要么是 first 要么是last

2.3 查看

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

正文完
 0