java的队列使用queue防止异常抛出
2016-08-22 11:16
411 查看
队列通常(但并非一定)以 FIFO(先进先出)的方式排序各个元素。
在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。
Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用peek()来获取头元素,使用poll()来获取并移出元素。它们的优
点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用
element()或者peek()方法。
值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
一个小的demo
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");
queue.offer("World!");
queue.offer("你好!");
System.out.println(queue.size());
String str;
while((str=queue.poll())!=null){
System.out.print(str);
}
System.out.println();
System.out.println(queue.size());
}
}
改造后的代码:package queue.com;
import java.util.LinkedList;
import java.util.Queue;
public class TestQueue {
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue<String> queue = new LinkedList<String>();
queue.offer("Hello");
queue.offer("World!");
queue.offer("你好!");
System.out.println(queue.size());
String str;
while ((str = queue.poll()) != null) {
System.out.print(str+"\r\n");
}
// System.out.println();
System.out.println(queue.size());
}
}
在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。
Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用peek()来获取头元素,使用poll()来获取并移出元素。它们的优
点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用
element()或者peek()方法。
值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
一个小的demo
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");
queue.offer("World!");
queue.offer("你好!");
System.out.println(queue.size());
String str;
while((str=queue.poll())!=null){
System.out.print(str);
}
System.out.println();
System.out.println(queue.size());
}
}
改造后的代码:package queue.com;
import java.util.LinkedList;
import java.util.Queue;
public class TestQueue {
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue<String> queue = new LinkedList<String>();
queue.offer("Hello");
queue.offer("World!");
queue.offer("你好!");
System.out.println(queue.size());
String str;
while ((str = queue.poll()) != null) {
System.out.print(str+"\r\n");
}
// System.out.println();
System.out.println(queue.size());
}
}
相关文章推荐
- java中PriorityQueue优先级队列使用方法
- java队列ConcurrentLinkedQueue的使用
- java中使用队列:java.util.Queue
- java中使用队列:java.util.Queue
- java中使用队列:java.util.Queue
- java中使用队列:java.util.Queue
- java中使用队列:java.util.Queue(JDK 5新增)
- java中使用队列:java.util.Queue
- java中使用队列:java.util.Queue
- java中使用队列:java.util.Queue
- java中使用队列:java.util.Queue
- Java 中队列(Queue)的使用
- java中使用队列:java.util.Queue
- Java中的阻塞队列ArrayBlockingQueue的使用
- java中使用队列:java.util.Queue
- java中使用队列:java.util.Queue
- java中PriorityQueue优先级队列使用方法
- java中使用队列:java.util.Queue
- java中的queue(队列)的使用
- java中使用队列:java.util.Queue(转)