--- jsr166/src/main/java/util/PriorityQueue.java 2018/05/06 21:07:41 1.125 +++ jsr166/src/main/java/util/PriorityQueue.java 2018/05/06 23:09:28 1.127 @@ -617,17 +617,18 @@ public class PriorityQueue extends Ab */ E removeAt(int i) { // assert i >= 0 && i < size; + final Object[] es = queue; modCount++; int s = --size; if (s == i) // removed last element - queue[i] = null; + es[i] = null; else { - E moved = (E) queue[s]; - queue[s] = null; + E moved = (E) es[s]; + es[s] = null; siftDown(i, moved); - if (queue[i] == moved) { + if (es[i] == moved) { siftUp(i, moved); - if (queue[i] != moved) + if (es[i] != moved) return moved; } }