queue
add 插入成功或异常
offer 插入成功或失败(false)
remove 返回并移除成功或异常
poll 返回并移除成功或null
elemennt 返回不移除,空返回异常
peek 返回不移除,空返回null
deque
addFirst
addlast
removeFirst 移除
pollFirst 返回并移除
getFirst 返回但不移除,空会抛出异常
peekFirst 返回但不移除
queue和deque区分
queue典型的尾部进,头部出,先进先出
deque 两边都可以出和进
有界性:
ArrayBlockingQueue 创建时声明大小,有界对列
LinkedBlockingQueue 默认无界,有最大界,Integer.MAX_VALUE
SynchronousQueue,这是一个非常奇葩的队列实现,容量为0,每删除需要等待插入,每插入需要等待删除
怎么选择队列:
根据应用场景