注意这里的LinkedList不是线程安全的,Vector才是线程安全的
在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。
但是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
使用offer()来加入元素,
使用poll()循环获取并移出元素,
使用element()或者peek()方法取得顶端第一个元素。
值得注意的是Queue使用时要尽量避免Collection的add()和remove()方法,因为add()和remove()方法在失败的时候会抛出异常。
import java.util.LinkedList;
import java.util.Queue;
public class TestQueue {
public static void main(String[] args) {
Queue<String> queue=new LinkedList<String>();
queue.offer("Hello");
queue.offer("world!");
queue.offer("您好!");
System.out.println("使用offer()之后队列的长度:"+queue.size());
System.out.println("使用peek()取出第一个元素: "+queue.peek());
System.out.println("使用element()取出第一个元素: "+queue.element());
System.out.println("使用peek/element之后队列的长度: "+queue.size());
System.out.print("使用poll()循环取出并删除元素:");
String str;
while((str=queue.poll())!=null)
{
System.out.print(" "+str);
}
System.out.println();
System.out.print("使用poll()后队列的长度:"+queue.size());
}
}