美文网首页
java中的队列

java中的队列

作者: Vinson武 | 来源:发表于2020-04-16 14:08 被阅读0次

队列的定义和数据类型

  • 定义:队列,也叫先进先出表,是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。插入的一端称为队尾,进行删除的一端称为队首。
  • 队列的基本操作:

加入 offer()、获取队首元素peek()、删除后返回队首元素poll()

java中队列相关的类和结构

image.png
  1. 没有实现阻塞接口的
  • PriorityQueue 类实质上维护了一个有序列表。加入到 Queue 中的元素根据它们的天然排序(通过其 java.util.Comparable 实现)或者根据传递给构造函数的 java.util.Comparator 实现来定位。
  • ConcurrentLinkedQueue 是基于链接节点的、线程安全的队列。并发访问不需要同步。因为它在队列的尾部添加元素并从头部删除它们,所以只要不需要知道队列的大小。
  1. 实现阻塞接口
  • ArrayBlockingQueue :一个由数组支持的有界队列。
  • LinkedBlockingQueue * * 一个由链接节点支持的可选有界队列。
  • PriorityBlockingQueue一个由优先级堆支持的无界优先级队列。
  • DelayQueue :一个由优先级堆支持的、基于时间的调度队列。
  • SynchronousQueue :一个利用 BlockingQueue 接口的简单聚集(rendezvous)机制。

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

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

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

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

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

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

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

take 移除并返回队列头部的元素 如果队列为空,则阻塞

相关文章

  • 【二】优先队列和堆

    堆 ----待补充--- java中的优先队列 PriorityQueue为java中的优先队列((a,b)->b...

  • Java阻塞队列四组API介绍

    Java阻塞队列四组API介绍 通过前面几篇文章的学习,我们已经知道了Java中的队列分为阻塞队列和非阻塞队列以及...

  • 以LinkedBlockingQueue为例浅谈阻塞队列的实现

    目录 阻塞队列简介阻塞队列的定义Java中的阻塞队列 LinkedBlockingQueue单链表定义锁和等待队列...

  • 数据结构 | 其三 栈和队列

    栈 java中栈继承了Vector 队列 2.1 普通队列 2.2 循环队列 2.3 优先级队列 2.4 阻塞队列...

  • 队列

    文章结构 什么是队列 实现队列顺序队列链式队列循环队列 Java中的队列 1. 什么是队列 队列也是一种操作受限的...

  • Java 多线程、Queue学习,CAS学习

    主题一:Queue: Java并发(10)- 简单聊聊JDK中的七大阻塞队列解读 Java 并发队列 Blocki...

  • JAVA中的队列

    前言 最近写一个简单版的网络框架,遇到一个这样的场景,如果有多个请求,那么我们需要把请求都放入一个队列当中。队列正...

  • java中的队列

    queue 在java1.5被引入,它和list 、set一样继承自collection接口。其中LinkedLi...

  • java中的队列

    一、队列是什么 队列是一种先进先出的数据结构。 二、队列的接口定义 方法名称作用队列满boolean add(E ...

  • java中的队列

    队列的定义和数据类型 定义:队列,也叫先进先出表,是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表...

网友评论

      本文标题:java中的队列

      本文链接:https://www.haomeiwen.com/subject/tpurvhtx.html