LinkedList是一个双向链表,一般用它来作为队列使用,特别是算法题中经常会用到它。下图是LinkedList中各种插入和删除操作对应的执行位置。
- add、offer:从尾巴插入
- remove、poll、pop:从头取出
- addFirst、offerFirst、push:从头插入
- removeLast、pollLast:从尾取出

Tips:
- LinkedList:可作为队列使用(线程不安全)
- PriorityQueue:可作为堆使用(默认小根堆;线程不安全)
- Stack:栈
- ArrayDeque:队列 / 栈(速度优于LinkedList和Stack)
版权声明:本文为weixin_44398687原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。