Am 18.03.2014 19:28, schrieb Ivan Gerasimov:
Assuming this last iteration is OK, should the next step be a CCC request?
Do you mean? : /* * ... + * It is assumed that fromIndex <= toIndex, otherwise the behaviour of this method is undefined. * ... - * toIndex < fromIndex}) * ... */ protected void removeRange(int fromIndex, int toIndex) { ... Please remove and replace inline by size - toIndex: 621 int numMoved = size - toIndex; About modCount: Wouldn't it be more correct to code? : 616 if (fromIndex > toIndex) { 617 throw new IndexOutOfBoundsException( 618 outOfBoundsMsg(fromIndex, toIndex)); 619 } 620 try { 621 modCount++; 622 System.arraycopy(elementData, toIndex, elementData, fromIndex, 623 size - toIndex); 624 } catch (IndexOutOfBoundsException ioobe) { 625 modCount--; 626 throw ioobe; 627 } Of even better : 000 private int[] modCount = { 0 }; ... 616 if (fromIndex > toIndex) { 617 throw new IndexOutOfBoundsException( 618 outOfBoundsMsg(fromIndex, toIndex)); 619 } 620 System.arraycopy(elementData, toIndex, elementData, fromIndex, 621 size - toIndex, modCount); Or : 000 public class ArrayList ... implements ModCounter { 001 private int modCount = 0; 001 void incModCount() { 001 modCount++; 004 } ... 616 if (fromIndex > toIndex) { 617 throw new IndexOutOfBoundsException( 618 outOfBoundsMsg(fromIndex, toIndex)); 619 } 620 System.arraycopy(elementData, toIndex, elementData, fromIndex, 621 size - toIndex, this); -Ulf