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