Java中的队列API——Queue

来源:互联网 发布:cloudstack基本网络 编辑:程序博客网 时间:2024/05/21 09:32

[参考]http://blog.csdn.net/gaohuanjie/article/details/45070263

    import java.util.Queue;      import java.util.LinkedList;      public class TestQueue {          public static void main(String[] args) {              Queue<String> queue = new LinkedList<String>();              queue.offer("Hello");//将指定的元素插入此队列(如果立即可行且不会违反容量限制),插入成功返回 true;否则返回 false。当使用有容量限制的队列时,offer方法通常要优于 add方法——add方法可能无法插入元素,而只是抛出一个IllegalStateException异常。               queue.offer("World");              queue.offer("!");              System.out.println(queue.size());//输出:3              String str;              while((str=queue.poll())!=null){//获取并移除此队列的头,如果此队列为空,则返回 null。 remove方法也可以获取并移除此队列的头,但该方法与 poll方法的唯一不同在于:如果此队列为空,那么remove方法将抛出NoSuchElementException异常。                   System.out.println(str);//换行依次输出:Hello、World、!              }              System.out.println(queue.size());//输出:0          }      }  

该API还有两个“获取但并不移除此队列头”方法:

    1、element()获取队列的头但不移除此队列的头。如果此队列为空,则将抛出NoSuchElementException异常。    2、peek()获取队列的头但不移除此队列的头。如果此队列为空,则返回 null。