diff -r f13f9b941bc7 -r e3dcdd73a549 src/java.base/share/classes/java/util/ArrayList.java --- a/src/java.base/share/classes/java/util/ArrayList.java Tue Jan 30 10:42:13 2018 -0800 +++ b/src/java.base/share/classes/java/util/ArrayList.java Tue Jan 30 11:08:50 2018 -0800 @@ -1143,6 +1143,23 @@ return modified; } + public Object[] toArray() { + checkForComodification(); + return Arrays.copyOfRange(root.elementData, offset, offset + size); + } + + @SuppressWarnings("unchecked") + public T[] toArray(T[] a) { + checkForComodification(); + if (a.length < size) + return (T[]) Arrays.copyOfRange( + root.elementData, offset, offset + size, a.getClass()); + System.arraycopy(root.elementData, offset, a, 0, size); + if (a.length > size) + a[size] = null; + return a; + } + public Iterator iterator() { return listIterator(); }