publicEpeek() {finalNode<E> f = first;return (f ==null) ?null:f.item; }
⭐ poll
返回第一个元素并删除(不是空队列时删除)
publicEpoll() {finalNode<E> f = first;return (f ==null) ?null:unlinkFirst(f); }// 将第一个元素置为null,当first的next 为null 将last也置为null// 否则将first next 的prev 置为null 即将next 做为第一个节点privateEunlinkFirst(Node<E> f) {// assert f == first && f != null;finalE element =f.item;finalNode<E> next =f.next;f.item=null;f.next=null; // help GC first = next;if (next ==null) last =null;elsenext.prev=null; size--; modCount++;return element; }