queue队列

本文介绍了Java中Queue的相关知识,Queue主要遵循先进先出原则,阐述了其添加、移除数据及返回头部信息等基本方法的区别。还提及Queue多用于多线程方面,介绍了PriorityQueue、Deque等多种队列类型,如无锁队列、阻塞队列等。

 

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 无缓存的队列 

          )

 

 




 

转载于:https://www.cnblogs.com/chengyangyang/p/9564319.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值