配列に追加することはできません。まず、より大きな配列を作成する必要があります。
int[] newArray = new int[array.length + 1];
次に、配列の前半をコピーする必要があります
for(int i = 0; i < midpoint; i++) {
newArray[i] = array[i];
}
次に、新しい中点を
newArray[midpoint] = 73;
次に、残りの半分をコピーします
for(int i = midpoint + 1; i < array.length; i++) {
newArray[i+1] = array[i];
}
そして、newArrayには新しい中点があります。
技術的には、最後の3つの手順は任意の順序で実行できますが、この順序で実行する方がはるかに読みやすくなります。これで、displayメソッドを呼び出したり、実際に好きなことを実行したりできます。
arrayCopy
配列要素の移動を支援できると呼ばれるユーティリティメソッドがあります。使用が許可される場合と許可されない場合があります。パラメータについては少し言葉遣いがありますが、ネイティブコードを利用しているため、実行時の通常のforループよりも少し高速です。
int[] newArray = new int[array.length + 1];
System.arrayCopy(array,0,newArray,0,midpoint);
newArray[midpoint] = 73;
System.arrayCopy(array,midpoint,newArray,midpoint+1,array.length - midpoint);
これらの呼び出しを説明するために、arraycopyは以下を使用します。
System.arrayCopy(arrayFrom,
startPosInArrayFrom,
arrayTo,
startPosInArrayTo,
numElementsToCopy);