队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。
LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
以下实例演示了队列(Queue)的用法:
- /*
- author by shouce.ren
- Main.java
- */
- import java.util.LinkedList;
- import java.util.Queue;
- public class Main {
- public static void main(String[] args) {
- //add()和remove()方法在失败的时候会抛出异常(不推荐)
- Queue<String> queue = new LinkedList<String>();
- //添加元素
- queue.offer("a");
- queue.offer("b");
- queue.offer("c");
- queue.offer("d");
- queue.offer("e");
- for(String q : queue){
- System.out.println(q);
- }
- System.out.println("===");
- System.out.println("poll="+queue.poll()); //返回第一个元素,并在队列中删除
- for(String q : queue){
- System.out.println(q);
- }
- System.out.println("===");
- System.out.println("element="+queue.element()); //返回第一个元素
- for(String q : queue){
- System.out.println(q);
- }
- System.out.println("===");
- System.out.println("peek="+queue.peek()); //返回第一个元素
- for(String q : queue){
- System.out.println(q);
- }
- }
- }
以上代码运行输出结果为:
- a
- b
- c
- d
- e
- ===
- poll=a
- b
- c
- d
- e
- ===
- element=b
- b
- c
- d
- e
- ===
- peek=b
- b
- c
- d
- e