平凡之上
博观而约取,厚积而薄发! 守得云开见月明。
posts - 75,comments - 0,views - 7828

Java的LinkedList/Deque中add/offer/push,remove/pop/poll的区别

它们来自不同的接口

  • add/remove源自集合,所以添加到队尾,从队头删除;
  • offer/poll源自队列(先进先出 => 尾进头出),所以添加到队尾,从队头删除;
  • push/pop源自栈(先进后出 => 头进头出),所以添加到队头,从队头删除;
  • offerFirst/offerLast/pollFirst/pollLast源自双端队列(两端都可以进也都可以出),根据字面意思,offerFirst添加到队头,offerLast添加到队尾,pollFirst从队头删除,pollLast从队尾删除。
    总结:
  • add/offer/offerLast添加队尾,三个方法等价;
  • push/offerFirst添加队头,两个方法等价。
  • remove/pop/poll/pollFirst删除队头,四个方法等价;
  • pollLast删除队尾。
LinkedList当做集合list,那么应该用add/remove,如果想用作队列,则使用offer/poll,如果用作栈,则使用push/pop,如果用作双端队列,则使用offerFirst/offerLast/pollFirst/pollLast
 
参考:链接
posted on   平凡之上  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示