独自の arraylist クラスを作成する必要があります。挿入メソッドを記述しようとしていますが、このインデックスに既存のオブジェクトがある場合、インデックス 0 にオブジェクトを追加するという問題に直面しています。他のインデックスでは機能しますが、0 では機能しません。
public void insert(int index, Object object) throws IndexOutOfBoundsException {
if(index < 0) {
System.out.println("Niepoprawny index!");
throw new IndexOutOfBoundsException();
}
if(index > array.length - 1 || array[index] != null) {
// zwiększenie rozmiaru tablicy
// jeśli jest zbyta mała lub na danym miejscu istnieje jakiś obiekt
Object[] temp = new Object[array.length + index];
System.arraycopy(array, 0, temp, 0, array.length);
array = temp;
}
// przesunięcie o 1 w prawo wszystkich elementów
System.arraycopy(array, index - 1, array, index, array.length - index);
array[index] = object;
size++;
}