public void add(int index, E obj) { if (length == array.length){ int newlength = array.length*2; E[] copyarray = ( E[] ) new Object[newlength]; for (int i = 0; i < index; i++){ copyarray[i] = array[i]; } for (int i = index; i < length; i++){ copyarray[i+1] = array[i]; } copyarray[index] = obj; length++; array = copyarray; }else{ for (int i = length; i > index; i--){ array[i] = array[i - 1]; } array[index] = obj; length++; } }