--- jsr166/src/main/java/util/PriorityQueue.java 2018/03/28 02:50:41 1.121 +++ jsr166/src/main/java/util/PriorityQueue.java 2018/05/06 02:08:36 1.122 @@ -895,4 +895,18 @@ public class PriorityQueue extends Ab return Spliterator.SIZED | Spliterator.SUBSIZED | Spliterator.NONNULL; } } + + /** + * @throws NullPointerException {@inheritDoc} + */ + @SuppressWarnings("unchecked") + public void forEach(Consumer action) { + Objects.requireNonNull(action); + final int expectedModCount = modCount; + final Object[] es = queue; + for (int i = 0, n = size; i < n; i++) + action.accept((E) es[i]); + if (expectedModCount != modCount) + throw new ConcurrentModificationException(); + } }