昇順でソートされた int の配列があり、新しい数値を挿入したいのですが、挿入する位置がわかっているとします。System.arraycopy を使用するにはどうすればよいですか。
System.arraycopy(items, i, items, i + 1, items.length+1);
items[i] = n;
または、一時配列への挿入位置(位置を1要素移動)から一時配列コピーを作成し、元の配列にコピーする必要がありますか?
int[] newItems = new int[size + 1];
System.arraycopy(items, i, newItems, i + 1, items.length+1);
items[i] = s;
size++;
System.arraycopy(items, 0, newItems, i, i);
items = newItems;