Queue是java中实现队列的接口,它总共只有6个方法,我们一般只用其中3个就可以了。Queue的实现类有LinkedList和PriorityQueue。最常用的实现类是LinkedList。
压入元素(添加):add()、offer()
相同:未超出容量,从队尾压入元素,返回压入的那个元素。
区别:在超出容量时,add()方法会对抛出异常,offer()返回false
弹出元素(删除):remove()、poll()
相同:容量大于0的时候,删除并返回队头被删除的那个元素。
区别:在容量为0的时候,remove()会抛出异常,poll()返回false
获取队头元素(不删除):element()、peek()
相同:容量大于0的时候,都返回队头元素。但是不删除。
区别:容量为0的时候,element()会抛出异常,peek()返回null。
QueueDemo:
import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
Queue<Integer> queue1 = new LinkedList<Integer>(); // 常用
Queue<Integer> queue2 = new PriorityQueue<Integer>();
queue1.offer(0);
queue1.offer(1);
queue1.offer(2);
while (queue1.peek() != null) {
System.out.println(queue1.poll());
}
queue2.offer(3);
queue2.offer(4);
queue2.offer(5);
System.out.println(queue2.peek());
}
}
结果:
0
1
2
3