Вставить в любую позицию в java.util.List

Согласно документации, вы можете вставлять объекты в любую позицию в списке:

Пользователь этого интерфейса имеет точный контроль над тем, где в списке должен быть вставлен каждый элемент .

(источник: http://download.oracle.com/javase/6/docs/api/java/util/List.html )

Но следующая программа выдает ошибку IndexOutOfBoundsException. :

import java.util.ArrayList;

public class Test {
    public static void main(String[] args) {
        ArrayList myList = new ArrayList();
        myList.add(0, "derp");
        myList.add(2, "herp");

        for (String s : myList) {
            System.out.println("Le string: " + s);
        }
    }
}

Это также не помогает явно установить начальную емкость (что имеет некоторый смысл, поскольку значение по умолчанию - 10).

Почему я не могу вставлять объекты в любую позицию, если ее индекс ниже, чем емкость? Всегда ли размер равен количеству вставленных элементов?

22
задан fiskeben 21 October 2011 в 09:46
поделиться