--- 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;
}
/**