ドキュメントによると、リスト内の任意の位置にオブジェクトを挿入できます。
このインターフェースのユーザーは、リストのどこに各要素を挿入するかを正確に制御できます。
(ソース: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<String> myList = new ArrayList<String>();
myList.add(0, "derp");
myList.add(2, "herp");
for (String s : myList) {
System.out.println("Le string: " + s);
}
}
}
初期容量を明示的に設定することも役に立ちません(デフォルト値は10であるため、これはある程度意味があります)。
インデックスが容量よりも低い限り、オブジェクトを任意の位置に挿入できないのはなぜですか?サイズは常に挿入された要素の数と同じですか?