--- jsr166/src/main/java/util/ArrayDeque.java 2017/10/22 17:44:02 1.132 +++ jsr166/src/main/java/util/ArrayDeque.java 2018/02/24 22:04:18 1.133 @@ -209,7 +209,7 @@ public class ArrayDeque extends Abstr */ public ArrayDeque(Collection c) { this(c.size()); - addAll(c); + copyElements(c); } /** @@ -325,11 +325,15 @@ public class ArrayDeque extends Abstr final int s, needed; if ((needed = (s = size()) + c.size() + 1 - elements.length) > 0) grow(needed); - c.forEach(this::addLast); + copyElements(c); // checkInvariants(); return size() > s; } + private void copyElements(Collection c) { + c.forEach(this::addLast); + } + /** * Inserts the specified element at the front of this deque. *