Queue特性和基本方法
Queue实现一个先进先出(FIFO, First In First Out)的队列。如收银台排队支付。
Java中LinkedList实现了Queue接口,可以直接把LinkedList当作Queue来使用。
获取队列长度size()
添加元素到队尾boolean add(E e)/boolean offer(E e)
获取队列头部元素并删除 E remove()/E poll()
获取队列头部元素但不删除E element()/E peek()
为什么添加和获取元素提供2组方法?
当添加或获取元素失败时,1个抛出异常,另1个返回false或null。throw Exception
返回false或null
添加元素到队尾
add(E e)
boolean offer(E e)
取对首元素并删除
E remove()
E poll()
取队首元素但不删除
E element()
E peek()
失败场景示例:
1.如果队列有一个最大长度限制,可能添加失败
//演示代码
Queue q = ...;
if (q.offer("abc")){
//添加成功
}else{
//添加失败
}
2.如果队列是空队列,队首元素获取失败。
//演示代码
Queue q = ...;
if (q.isEmpty()){
//不能获取队首元素</