push和pop是一对,源自Deque,其本质是栈(Stack类由于某些历史原因,官方已不建议使用,使用Deque代替); offerFirst/offerLast和pollFirst/pollLast是一对,源自Deque,其本质是双端队列。 那为什么这些方法,全都出现在LinkedList/Deque中呢,那是由它们的继承关系导致的,请看下图。 关注圈住的部分,
offer/poll源自队列(先进先出 => 尾进头出),所以添加到队尾,从队头删除; push/pop源自栈(先进后出 => 头进头出),所以添加到队头,从队头删除; offerFirst/offerLast/pollFirst/pollLast源自双端队列(两端都可以进也都可以出),根据字面意思,offerFirst添加到队头,offerLast添加到队尾,pollFirst从队头删除,po...