¿Por qué se genera java.lang.IndexOutOfBoundsException
en este ejemplo, si el tamaño de ArrayList ha sido predefinido? ¿Cómo resolver este problema?ArrayList índice fuera de los límites
int size = 2:
ArrayList<Integer[]> nums = new ArrayList<Integer[]>(size);
Integer[] value1 = {1,2,3};
Integer[] value2 = {1,2};
nums.add(1,value1); // java.lang.IndexOutOfBoundsException
nums.add(0,value2);
Para ser más claro, es realmente que no se puede insertar un elemento en un índice que todavía no existe. –
Para no adivinar la sabiduría aquí, ¿la 3ª adición() de la solución anterior * cambia * los contenidos, de modo que value1 ahora está en el índice 2, no en el 1? El documento sobre add() con un índice lo indica. Creo que los contenidos de la matriz después de esto serían {value2, null, value1}. – rfeak