Java中使用LinkedList实现Queue

LinkedList提供了方法支持队列的行为,并且它实现了Queue接口,因此LinkedList可以用作Queue的一种实现。

package cn.usst.queue.demo; import java.util.LinkedList; import java.util.Queue; import java.util.Random; /* * Queue的基本使用 */ public class QueueDemo { public static void main(String[] args) { Queue queue = new LinkedList(); Random random = new Random(47); for(int i=0; i qc = new LinkedList(); for(char c : "Brontosaurus".toCharArray()){ qc.offer(c); } printQ(qc); } private static void printQ(Queue queue) { while(queue.peek() !=null ){ System.out.println(queue.remove() + " "); } System.out.println(); } } /* * Offer()将一个元素插入到队尾 * peek()和element()都是在移除的情况下返回队头 * peek()方法在队列为空时返回null,element()会抛出NoSuchElementException异常 * poll()和remove()方法将移除并返回队头 * poll()在队列为空时返回null,而remove()会抛出NoSuchElementException异常 */

PriorityQueue:优先队列的实现

package cn.usst.queue.demo; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.PriorityQueue; import java.util.Queue; import java.util.Random; public class PriorityQueueDemo { public static void main(String[] args) { PriorityQueue priorityQueue = new PriorityQueue(); Random rand = new Random(); for(int i=0; i ints = Arrays.asList(25, 22, 20, 18, 14, 9, 8, 2, 4, 7); priorityQueue = new PriorityQueue(ints); printQ(priorityQueue); //反向输出 priorityQueue = new PriorityQueue(ints.size(), Collections.reverseOrder()); priorityQueue.addAll(ints); printQ(priorityQueue); } private static void printQ(Queue queue) { while(queue.peek() !=null ){ System.out.println(queue.remove() + " "); } System.out.println(); } }

点击复制链接 与好友分享!回本站首页
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力
上一篇:Java学习(一)--面向对象(一)
下一篇:排序算法之堆排序(Heapsort)解析
相关文章
图文推荐

Java中使用LinkedList实现Queue
适配器模式
Java中使用LinkedList实现Queue
Handler的介绍和使用
Java中使用LinkedList实现Queue
struts2上传文件
Java中使用LinkedList实现Queue
通过JFreeChart的饼状
分类:默认分类 时间:2015-03-06 人气:1
本文关键词:
分享到:

相关文章

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.141 (s). 10 q(s)