Queue队列
来源:互联网 发布:unity3d文件手机怎么看 编辑:程序博客网 时间:2024/06/06 02:48
Queue队列
概述
队列是一个典型的先进先出(FIFO)的容器。即从容器的一端放入事物,从另一端取出,并且事物放入的顺序与取出的顺序是相同的。队列常被当作一种可靠的将对象从程序的某个区域传输到另一个区域的途径。
所有父接口
- Collection
- Iterable
所有子接口
- BlockingDeque
- BlockingQueue
- Deque
- TransferQueue
所有已实现的类
- AbstractQueue
- ArrayBlockingQueue
- ArrayDeque
- ConcurrentLinkedDeque
- ConcurrentLinkedQueue
- DelayQueue
- LinkedBlockingDeque
- LinkedBlockingQueue
- LinkedList
- LinkedTransferQueue
- PriorityBlockingQueue
- PriorityQueue
- SynchronousQueue
方法介绍
- boolean add(E e)
在允许的情况下,将一个元素插入到队尾,或者抛出IIIegaISlabEepeplian异常 - boolean offer(E e)
在允许的情况下,将一个元素插入到队尾,或者返回false. - E remove()
将移除并返回队头。如果队列为空,则会抛出NoSuchElementException的异常 - E poll()
将移除并返回队头。如果队列为空,则返回null - E element()
在不移除元素的情况下返回队头。如果队列为空,则会抛出NoSuchElementException的异常 - E peek()
在不移除元素的情况下返回队头。如果队列为空,则返回null
代码示例
import java.util.LinkedList;import java.util.Queue;import java.util.Random;public class QueueDemo { /** * 用于输出队列 * @param queue */ private static void printQ(Queue queue) { while (queue.peek() != null) { System.out.print(queue.remove() + " "); } } public static void main(String[] args) { Queue<Character> queue = new LinkedList<Character>(); String str = "QueueCharacter"; for (char c : str.toCharArray()) { queue.offer(c); // 向队列添加元素 } // 输出队列元素// printQ(queue); // 不移除元素的情况下,返回队头 System.out.println(queue.peek()); // 移除并返回队头,同时打印队列 System.out.println(queue.poll()); printQ(queue); }}
注意:
以上信息均采用JDK 8版本
参考链接:https://docs.oracle.com/javase/8/docs/api/
源代码链接:https://github.com/myNameIssls/javase-study/blob/master/javase-multithreading/src/main/java/cn/tyrone/javase/Queue/QueueDemo.java
阅读全文
0 0
- queue队列-printer queue
- 队列(queue)
- Queue---队列
- 队列(Queue)
- Queue队列
- Queue队列
- Queue (队列)
- (队列)queue
- 队列Queue
- 队列(queue)
- queue队列
- 队列(Queue)
- 队列<queue>
- 队列queue
- queue 队列
- 队列Queue
- Queue队列
- queue队列
- python实践项目(四)
- 我所理解的RESTful Web API [设计篇]
- Vuforia AR学习
- css实现超出div长度用省略号表示
- spring boot 事务不起作用解决
- Queue队列
- maven3 手动安装本地jar到仓库
- http协议学习-http代理
- 全美房租最贵TOP20多半都在曼哈顿 月租$3790起
- testng+maven+java+idea 接口测试入门一:项目创建
- poj2063——investment
- pygame游戏之旅13:添加游戏暂停功能
- Hyperscan学习之源码安装---redhat
- CodeForces