예제 #1
0
 protected void removeRange(int fromIndex, int toIndex) {
   checkForComodification();
   l.removeRange(fromIndex + offset, toIndex + offset);
   expectedModCount = l.modCount;
   size -= (toIndex - fromIndex);
   modCount++;
 }
예제 #2
0
 public void add(int index, E element) {
   if (index < 0 || index > size) throw new IndexOutOfBoundsException();
   checkForComodification();
   l.add(index + offset, element);
   expectedModCount = l.modCount;
   size++;
   modCount++;
 }
예제 #3
0
 public E remove(int index) {
   rangeCheck(index);
   checkForComodification();
   E result = l.remove(index + offset);
   expectedModCount = l.modCount;
   size--;
   modCount++;
   return result;
 }
예제 #4
0
 SubList(AbstractList<E> list, int fromIndex, int toIndex) {
   if (fromIndex < 0) throw new IndexOutOfBoundsException("fromIndex = " + fromIndex);
   if (toIndex > list.size()) throw new IndexOutOfBoundsException("toIndex = " + toIndex);
   if (fromIndex > toIndex)
     throw new IllegalArgumentException("fromIndex(" + fromIndex + ") > toIndex(" + toIndex + ")");
   l = list;
   offset = fromIndex;
   size = toIndex - fromIndex;
   expectedModCount = l.modCount;
 }
예제 #5
0
  public boolean addAll(int index, Collection<? extends E> c) {
    if (index < 0 || index > size)
      throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
    int cSize = c.size();
    if (cSize == 0) return false;

    checkForComodification();
    l.addAll(offset + index, c);
    expectedModCount = l.modCount;
    size += cSize;
    modCount++;
    return true;
  }
예제 #6
0
 public E get(int index) {
   rangeCheck(index);
   checkForComodification();
   return l.get(index + offset);
 }
예제 #7
0
 public E set(int index, E element) {
   rangeCheck(index);
   checkForComodification();
   return l.set(index + offset, element);
 }