• 工具类-Queue、Deque类总结


    Queue类的简介

    QueueJava中实现队列的接口,只有6个方法,一般只用其中3个就可以。Queue的实现类有LinkedListPriorityQueue,最常用的实现类是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、ArrayDequeLinkedBlockingDeque,其中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()
  • 相关阅读:
    高效截屏方法,你值得拥有!在Windows10中截屏的3种方法
    部署之缓存问题
    千古第一文人苏轼的众CP
    Macroscope安全漏洞检测工具简介
    医学图像分类 神经网络,神经网络和图神经网络
    【算法】迷宫问题
    MongoDB基础知识~
    Java项目:基于JavaWeb的教务管理系统的设计与实现
    梯度消失和梯度爆炸原理
    Visual Studio Code (VSCode) 提高开发效率
  • 原文地址:https://blog.csdn.net/Ginomica_xyx/article/details/125471819