/**
* 1.在Java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。
*
* Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取
* 或移除的元素。他们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。
* 如果要使用前端而不移除该元素,使用element()或者peek()方法。
*
* 值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当初Queue来用。
*
*/
Queue<String> queue = new LinkedList<String>();
queue.offer("1");
queue.offer("2");
queue.offer("3");
System.out.println("队列的大小:" + queue.size());
System.out.println("toString : " + queue.toString());
//循环队列
for(String str : queue) {
System.out.println("队列内容:" + str);
}
boolean offerResult = queue.offer("4");
System.out.println("插入队列的结果:" + offerResult + " ,队列的大小:" + queue.size());
System.out.println("toString : " + queue.toString());
String e = queue.poll();
System.out.println("返回删除的头元素 : " + e);
System.out.println("toString : " + queue.toString());
e = queue.peek();
System.out.println("返回头元素,不删除头元素 : " + e);
System.out.println("toString : " + queue.toString());
e = queue.element();
System.out.println("返回头元素,不删除头元素 : " + e);
System.out.println("toString : " + queue.toString());
System.out.println("是否为空队列 : " + queue.isEmpty());
System.out.println("队列的大小 : " + queue.size());
System.out.println("是否包含相关的元素:" + queue.contains("1"));
System.out.println("是否包含相关的元素:" + queue.contains("2"));
queue.clear();
System.out.println("是否为空队列 : " + queue.isEmpty());
System.out.println("队列的大小 : " + queue.size());
System.out.println("toString : " + queue.toString());