码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 工具类-Queue、Deque类总结


    Queue、Deque类总结

      • Queue类的简介
      • Queue类方法的使用
      • Deque类的简介
      • Deque类方法的使用

    Queue类的简介

    Queue是Java中实现队列的接口,只有6个方法,一般只用其中3个就可以。Queue的实现类有LinkedList和PriorityQueue,最常用的实现类是LinkedList。

    Queue类方法的使用

    • 压入元素(添加)-add(e)、offer(e)
      同:未超出容量时,从队尾压入元素,函数返回压入的元素。
      异:超出容量时,add(e)方法会抛出异常,offer(e)方法返回false。

    • 弹出元素(删除):remove()、poll()
      同:容量大于0的时候,删除并返回队头被删除的元素。
      异:容量为0的时候,remove()方法会抛出异常,poll()方法返回false。

    • 获取队头元素(检查-不删除):element()、peek()
      同:容量大于0的时候,都返回队头元素,但是不删除元素。
      异:容量为0的时候,element()方法会抛出异常,peek()方法返回null。

    public class QueueTest {
        public static void main(String[] args) {
            Queue<String> queue = new LinkedList();
            queue.offer("元素A");
            queue.offer("元素B");
            queue.offer("元素C");
            queue.offer("元素D");
            queue.offer("元素E");
            while (queue.size() > 0) {
                String element = queue.poll();
                System.out.println(element);
            }
        }
    }
    // 元素A
    // 元素B
    // 元素C
    // 元素D
    // 元素E
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    Deque类的简介

    Deque是一个双端队列接口,继承Queue接口,Deque的实现类是LinkedList、ArrayDeque和LinkedBlockingDeque,其中LinkedList是最常用的。

    Deque有三种用途:普通队列(一端进另一端出)、双端队列(两端都可进出)、堆栈。

    • 普通队列

    Queue queue = new LinkedList()或Deque deque = new LinkedList()

    • 双端队列

    Deque deque = new LinkedList()

    • 堆栈

    Deque deque = new LinkedList()

    Java官方推荐使用Deque替代Stack使用,Deque堆栈操作方法:push()、pop()、peek()(未曾遇到暂时不做总结)。

    Deque类方法的使用

    • 队头元素操作
    抛出异常特殊值(null或false)
    添加addFirst(e)offerFirst(e)
    删除removeFirst()pollFirst()
    检查getFirst()peekFirst()
    • 队尾元素操作
    抛出异常特殊值(null或false)
    添加addLast(e)offerLast(e)
    删除removeLast()pollLast()
    检查getLast()peekLast()
  • 相关阅读:
    【C++】模板进阶 —— 非类型模板参数 | 特化 | 模板的分离编译
    Linux ping向网络主机发送ICMP ECHO REQUEST
    中兴2023秋招二面
    无病休学什么理由好
    Mojo:为Web应用程序提供了完整的框架,包括路由、模板、插件、Websocket、HTTP客户端、HTTP服务器、配置文件管理等功能
    css中实现背景方格
    QT学习管理系统
    asp.net+sqlserver医院体检信息管理系统
    机器学习-------数据标准化
    Vue3 源码阅读(2):响应式系统 —— 核心思想、基本实现
  • 原文地址:https://blog.csdn.net/Ginomica_xyx/article/details/125471819
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号