--- jsr166/src/main/java/util/ArrayList.java 2016/10/17 21:46:27 1.33 +++ jsr166/src/main/java/util/ArrayList.java 2016/10/18 22:15:15 1.35 @@ -104,7 +104,6 @@ import java.util.function.UnaryOperator; * @see Vector * @since 1.2 */ - public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable { @@ -1516,8 +1515,9 @@ public class ArrayList extends Abstra throw new ConcurrentModificationException(); return deleted > 0; } catch (Throwable ex) { - for (; remaining > 0; remaining--, r++, w++) - elementData[w] = elementData[r]; + if (deleted > 0) + for (; remaining > 0; remaining--, r++, w++) + elementData[w] = elementData[r]; throw ex; } finally { if (deleted > 0) {