src/java.base/share/classes/java/util/ArrayDeque.java
changeset 49565 b5705ade8c8d
parent 49433 b6671a111395
child 50959 f9b96afb7c5e
--- a/src/java.base/share/classes/java/util/ArrayDeque.java	Tue Apr 10 11:33:29 2018 -0700
+++ b/src/java.base/share/classes/java/util/ArrayDeque.java	Tue Apr 10 11:37:18 2018 -0700
@@ -208,7 +208,7 @@
      */
     public ArrayDeque(Collection<? extends E> c) {
         this(c.size());
-        addAll(c);
+        copyElements(c);
     }
 
     /**
@@ -322,8 +322,12 @@
         final int s, needed;
         if ((needed = (s = size()) + c.size() + 1 - elements.length) > 0)
             grow(needed);
+        copyElements(c);
+        return size() > s;
+    }
+
+    private void copyElements(Collection<? extends E> c) {
         c.forEach(this::addLast);
-        return size() > s;
     }
 
     /**