Source of 13.15.java


  1: public void add(int newPosition, T newEntry)
  2: {
  3:    checkInitialization();
  4:    if ((newPosition >= 1) && (newPosition <= numberOfEntries + 1))
  5:    {
  6:       if (newPosition <= numberOfEntries)
  7:          makeRoom(newPosition);
  8:       list[newPosition] = newEntry;
  9:       numberOfEntries++;
 10:       ensureCapacity(); // Ensure enough room for next add
 11:    }
 12:    else
 13:       throw new IndexOutOfBoundsException(
 14:                 "Given position of add's new entry is out of bounds.");
 15: } // end add
 16: private void makeRoom(int newPosition)
 17: {
 18:    int newIndex = newPosition;
 19:    int lastIndex = numberOfEntries;
 20:    for (int index = lastIndex; index >= newIndex; index--)
 21:       list[index + 1] = list[index];
 22: }  // end makeRoom
 23: 
 24: // Version 4.0