Queue接口知识点
1、使用细节
Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。因为offer()和poll()可以通过返回值判断成功与否,而add()和remove()方法在失败的时候会抛出异常。 如果只需要使用数据而不移出该元素,使用
element()或者peek()方法。
2、Queue和LinkedList的关系
LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
3、Queue的使用
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
//LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用
Queue<String> queue = new LinkedList<>();
queue.offer("h");
queue.offer("a");
queue.offer("n");
queue.offer("d");
queue.offer("s");
queue.offer("o");
queue.offer("m");
queue.offer("e");
for (String q : queue){
System.out.println(q);
}
System.out.println("--------------------");
//返回第一个元素,并在队列中删除
System.out.println("poll="+queue.poll());
for (String q : queue){
System.out.println(q);
}
System.out.println("--------------------");
//返回第一个元素
System.out.println("peek="+queue.peek());
for (String q : queue){
System.out.println(q);
}
System.out.println("--------------------");
//返回第一个元素
System.out.println("element="+queue.element());
for (String q : queue){
System.out.println(q);
}
}
}
结果:
h
a
n
d
s
o
m
e
--------------------
poll=h
a
n
d
s
o
m
e
--------------------
peek=a
a
n
d
s
o
m
e
--------------------
element=a
a
n
d
s
o
m
e