zoukankan      html  css  js  c++  java
  • queue队列

    queue 主要原则就是先进先出(特殊除外)

      基本方法的区别

        (

        添加数据: 

          add        增加一个元索                     如果队列已满,则抛出一个IIIegaISlabEepeplian异常

          put         添加一个元素                      如果队列满,则阻塞

          offer       添加一个元素并返回true       如果队列已满,则返回false

        移除数据:

          remove   移除并返回队列头部的元素    如果队列为空,则抛出一个NoSuchElementException异常

          poll         移除并返问队列头部的元素    如果队列为空,则返回null

          take        移除并返回队列头部的元素

        返回头部信息:

          peek       返回队列头部的元素             如果队列为空,则返回null

          element  返回队列头部的元素             如果队列为空,则抛出一个NoSuchElementException异常

        )

      java中queue主要用于多线程方面.

      

      PriorityQueue

         PriorityQueue并不是一个比较标准的队列实现,PriorityQueue保存队列元素的顺序并不是按照加入队列的顺序,而是按照队列元素的大小进行重新排序,这点从它的类名也可以

           Deque

           Deque接口代表一个"双端队列",双端队列可以同时从两端来添加、删除元素,因此Deque的实现类既可以当成队列使用、也可以当成栈使用

         ConcurrentLinkedQueue

        一种无锁的队列 

        BlockingQueue    一种阻塞的队列  (

              ArrayBlockingQueue 基于数组的队列,需要定义长度;

              LinkedBlockingQueue 基于链表的阻塞高效的并发队列,一种无界队列;

              PriorityBlockingQueue 基于优先级的阻塞队列

              DelayQueue 具有延迟效果的阻塞队列,时间没有到则不能被取出

              SynchronousQueue 无缓存的队列 

              )




     
  • 相关阅读:
    Flink实例(四十七):状态管理(十一)自定义操作符状态(五)广播状态(Broadcast state)(三)
    Flink实例(四十六): Operators(七)多流转换算子(二)CONNECT, COMAP和COFLATMAP
    python题库
    python---replace函数
    算法图解--读书笔记
    python里的StringIO
    python通过sha1和base64生成签名
    python调用接口方式
    智能停车场车牌识别系统【python】
    leetcode 查找算法(三)
  • 原文地址:https://www.cnblogs.com/chengyangyang/p/9564319.html
Copyright © 2011-2022 走看看