Queue,List,Deque联系

这篇具有很好参考价值的文章主要介绍了Queue,List,Deque联系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Queue,List,Deque联系

如图所示,可以得出LinkedList既可以是双向链表也可以是双端队列,Deque接口继承了Queue接口

Queue

Queue,List,Deque联系

  • add(E):boolean 在队尾添加元素,添加成功返回true,如果队列已满无法添加则抛出异常。
  • offer(E):boolean 在队尾添加元素,添加成功返回true,如果队列已满无法添加则返回false
  • remove():E 删除队头元素,并返回删除的元素,如果队列为null抛出异常。
  • poll():E 删除队头元素,并返回删除的元素,如果队列为null返回null
  • element():E 获取队头元素,如果队列为null将抛出异常
  • peek():E 获取队头元素,如果队列为null将返回null

Deque

Queue,List,Deque联系

Deque<Integer> deque = new LinkedList<>();

  • addFirst(E):void 在队头添加元素。
  • addLast(E):void 在队尾添加元素。
  • offerFirst(E):boolean 在队头添加元素,并返回是否添加成功。
  • offerLast(E):boolean 在队尾添加元素,并返回是否添加成功。
  • removeFirst():E 删除队头元素,并返回删除的元素,如果队列为null,抛出异常。
  • removeLast():E 删除队尾元素,并返回删除的元素,如果队列为null,抛出异常。
  • pollFirst():E 删除队头元素,并返回删除的元素,如果队列为null,返回null。
  • pollLast():E 删除队尾元素,并返回删除的元素,如果队列为null,返回null。
  • getFirst():E 获取队头元素,如果队列为null将抛出异常。
  • getLast():E 获取队尾元素,如果队列为null将抛出异常。
  • peekFirst():E 获取队头元素,如果队列为null将返回null。
  • peekLast():E 获取队尾元素,如果队列为null将返回null
  • removeFirstOccurrence(Object):boolean 删除第一次出现的指定元素,并返回是否删除成功。
  • removeFirstOccurrence(Object):boolean 删除最后一次出现的指定元素,并返回是否删除成功。

List

Queue,List,Deque联系

创建方式:(可以实现双向链表和双端队列)
    LinkedList list = new LinkedList(); //双向链表的创建
    Deque<Integer> deque = new LinkedList<>(); //双端队列的创建
//队列方法:
list.add("A");  
list.add("B");  
list.add("C");  
list.add("D");  
list.addFirst("X");  //在头部添加元素
list.addLast("Z");  
System.out.println(list);  
list.removeFirst();  //移除元素
list.removeLast(); 
list.getFirst();  //获取元素
list.getLast(); 
list.isEmpty();

总结:队列queue.offer()和deque.offerLast()作用一样都是从后面添加元素,queue.poll()和deque.pollFirst()作用一样都是从前面删除元素文章来源地址https://www.toymoban.com/news/detail-509361.html

到了这里,关于Queue,List,Deque联系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ STL之 queue和deque用法详解

    1.1 创建queue对象: queue数据类型,容器类型 q; 数据类型:可以是int、double等基本类型,也可以是自定义的结构体。 容器类型:一般为deque或者list(双向链表),可省略,省略时以deque为默认容器。 声明代码如下: 只能队尾插入,队首弹出。无法index遍历,也不可以迭代器遍

    2023年04月10日
    浏览(28)
  • STL stack,queue,deque以及适配器

    下面是stack库中的接口函数,有了前面的基础,我们可以根据函数名得知函数的作用 函数 说明 stack() 构造空栈 empty() 判断栈是否为空 size() 返回栈中元素个数 top 返回栈顶元素 push() 将值从栈顶压入栈内 pop() 在栈顶出栈 栈其实就是一种特殊的 vector ,因此可以使用 vector 模拟实

    2024年02月10日
    浏览(29)
  • 【C++】容器适配器--stack&queue&deque

    设计模式 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可用性,可维护性,可读性,稳健性以及安全性的解决方案 迭代器模式 迭代器模式(Iterator Pattern) :提供

    2023年04月10日
    浏览(32)
  • Java中栈实现怎么选?Stack、Deque、ArrayDeque、LinkedList(含常用Api积累)

    目录 Java中的Stack类 不用Stack有以下两点原因 1、从性能上来说应该使用Deque代替Stack。 2、Stack从Vector继承是个历史遗留问题,JDK官方已建议优先使用Deque的实现类来代替Stack。 该用ArrayDeque还是LinkedList? ArrayDeque与LinkList区别: ArrayDeque: LinkList: 结论 API积累 Deque中常用方法:

    2024年02月07日
    浏览(29)
  • C++:stack、queue、priority_queue增删查改模拟实现、deque底层原理

    我们先来看看 stack的相关接口有哪些: 从栈的接口,我们可以知道栈的接口是一种特殊的vector,所以我们完全可以使用vector来模拟实现stack。 因此我们可以将底层容器定义成模板,然后将容器类变量作为成员变量进行封装。在实现satck的各种接口时,通过成员变量来调用底层

    2024年02月03日
    浏览(34)
  • 容器适配器---deque和STL ---stack queue priority_queue的模拟实现 C++

    目录 一、容器适配器 deque原理 deque的缺陷 deque的优势 二、stack的模拟实现  三、queue的模拟实现 四、优先级队列的模拟实现 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户

    2024年02月02日
    浏览(43)
  • C++高级编程——STL:deque容器、stack容器和queue容器

    本专栏记录C++学习过程包括C++基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下, 不定时更新,欢迎关注 。 当前章节处于: ---------第1阶段-C++基础入门 ---------第2阶段实战-通讯录管理系统, ---------第3阶段-C++核心编程, -----

    2024年01月24日
    浏览(30)
  • c++学习:容器stack栈+queue+map(简易输入法)+deque

    目录 stack 模板原型 头文件 模板的成员类型和成员对象和成员函数 栈类模板的容器对象 实例 queue 模板原型 头文件 模板的成员类型和成员对象和成员函数 队列类模板的容器对象 实例 map 模板原型 头文件 模板的成员类型和成员对象和成员函数 关联类模板的容器对象 实例1 实

    2024年01月23日
    浏览(34)
  • stack 、 queue的语法使用及底层实现以及deque的介绍【C++】

    stack是一种容器适配器,具有后进先出,只能从容器的一端进行元素的插入与提取操作 队列是一种容器适配器,具有先进先出,只能从容器的一端插入元素,另一端提取元素 stack和queue在STL中并没有将其划分在容器的行列,而是称为容器适配器 因为stack和queue对其他容器的接口

    2024年02月12日
    浏览(33)
  • 【C++】STL之容器适配器——使用deque适配stack和queue

    个人主页:🍝在肯德基吃麻辣烫 分享一句喜欢的话:热烈的火焰,冰封在最沉默的火山深处。 本文章主要介绍容器适配器的功能,以及一个适配的场景。 容器适配器,按字面意思理解的话,就是用来对一个容器进行匹配的。在C++STL中,容器有:vector,list,deque,map,set等。

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包