jdk1.5后加入了新的集合类Queue,在这之前如果想使用一个队列的数据结构,大多数是用List来模拟出来的,加入的时候用add()
弹出的时候自己手动remove前边的对象。但Queue本身就是个队列,不需要再多这些步骤。下边是个简单的用法,对比stack的演示代码:
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class TestQueue {
public static void main(String[] args) {
//队列是先进先出
Queue<String> q = new LinkedList<String>();
//这里offer和add类似
q.offer("a");
q.offer("b");
q.offer("c");
System.out.println(q);
//队列头部弹出
q.poll();
System.out.println(q);
//栈你是后进先出
Stack<String> s = new Stack<String>();
s.add("a");
s.add("b");
//这里push等同add
s.push("c");
System.out.println(s);
//栈顶弹出
s.pop();
System.out.println(s);
//只是看一下栈顶的值,并不移除
s.peek();
System.out.println(s);
}
}