JAVA基础(26) java.util.Queue的简单用法
来源:互联网 发布:u盘安装mac系统教程 编辑:程序博客网 时间:2024/06/05 20:25
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
在队列这种数据结构中,最先插入的元素将是最先被删除的元素;
反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。
在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。
Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。
它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,
使用element()或者peek()方法。值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
二、示例
package com.test.util.queue;import java.util.LinkedList;import java.util.Queue;/** * java 队列测试 * java.util.Queue用法 * @author zengdq * @date 2016年4月20日 */public class testQueue {public static void main(String[] args) {// add()和remove()方法在失败的时候会抛出NoSuchElementException异常(不推荐);而offer方法会返回false。Queue<String> queue = new LinkedList<String>();// 添加元素queue.offer("第一列");queue.offer("第二列");queue.offer("第三列");queue.offer("第四列");queue.offer("第五列");//if(queue != null && queue.size() > 0){for (String q : queue) {System.out.println("初始值q1="+q);}System.out.println("poll=" + queue.poll()); // 返回第一个元素,并在队列中删除System.out.println("//////////////////////1//////////////////////////");for (String q : queue) {System.out.println("当前值q2="+q);}System.out.println("element=" + queue.element()); // 返回第一个元素System.out.println("///////////////////////2/////////////////////////");for (String q : queue) {System.out.println("当前值q3="+q);}System.out.println("peek=" + queue.peek()); // 返回第一个元素System.out.println("//////////////////////3//////////////////////////");for (String q : queue) {System.out.println("当前值q4="+q);}}}}
三、结果显示
初始值q1=第一列初始值q1=第二列初始值q1=第三列初始值q1=第四列初始值q1=第五列poll=第一列//////////////////////1//////////////////////////当前值q2=第二列当前值q2=第三列当前值q2=第四列当前值q2=第五列element=第二列///////////////////////2/////////////////////////当前值q3=第二列当前值q3=第三列当前值q3=第四列当前值q3=第五列peek=第二列//////////////////////3//////////////////////////当前值q4=第二列当前值q4=第三列当前值q4=第四列当前值q4=第五列
0 0
- JAVA基础(26) java.util.Queue的简单用法
- java.util.Queue用法
- java.util.Queue用法
- java.util.Queue用法
- java.util.Queue用法
- java.util.Queue用法
- java.util.Queue用法
- java.util.Queue用法
- java.util.Queue用法
- java.util.Queue用法
- java.util.Queue(队列)的简单使用
- java.util.Scanner的简单用法
- java Queue 的用法
- java Queue 的用法
- java Queue 的用法
- 解读java.util.queue
- java.util.queue
- 关于java.util.Queue
- 如何重置postgresql用户密码
- runtime OC类执行顺序
- java IO 详解
- redis简介
- ubuntu源码安装postgresql(问题解决)转载
- JAVA基础(26) java.util.Queue的简单用法
- 2016Android某公司面试题
- java.lang.IllegalStateException问题的发现与解决
- Linux怎么添加用户成为sudoers
- append(function(index, html)),clone(true)和clone()的区别
- 搜索1001
- PHP正则表达式及实例
- Docker run执行流详解(以volume,network和libcontainer为线索)
- SQL FOR XML子句的各种用法