美文网首页
java中的队列

java中的队列

作者: yueshao | 来源:发表于2019-07-15 14:56 被阅读0次

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

1.未实现阻塞接口的:
  • LinkedList : 实现了Deque接口,受限的队列
  • PriorityQueue : 优先队列,本质维护一个有序列表。可自然排序亦可传递 comparator构造函数实现自定义排序。
  • ConcurrentLinkedQueue:基于链表 线程安全的队列。增加删除O(1) 查找O(n)
2.实现阻塞接口的:
  • 实现blockqueue接口的五个阻塞队列,其特点:线程阻塞时,不是直接添加或者删除元素,而是等到有空间或者元素时,才进行操作。

  • ArrayBlockingQueue: 基于数组的有界队列

  • LinkedBlockingQueue: 基于链表的无界队列

  • ProiporityBlockingQueue:基于优先次序的无界队列

  • DelayQueue:基于时间优先级的队列

  • SynchronousQueue:内部没有容器的队列 较特别 --其独有的线程一一配对通信机制

一些基本操作方法:

  • add 添加一个元素 如果队列已满 抛出illegalabException异常
  • offer 添加一个元素并返回true 如果队列已满 则返回false
  • put 添加一个元素 如果队列已满 则阻塞
  • remove 删除并返回队列头部元素 如果队列为空 则抛出一个NoSuchElementException
  • poll 移除并返回队列头部元素 如果队列为空 则返回null
  • take 删除并返回队列头部元素 如果队列为空 则阻塞
  • peek 返回队列头部元素 如果队列为空 则返回null
  • element 返回队列头部元素 如果队列为空 则抛出NoSuchElementException异常

相关文章

  • 【二】优先队列和堆

    堆 ----待补充--- 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/fgenkctx.html