Java 配列からインデックスを使用して要素を削除する方法を教えてください。
Java配列の長さは固定で、一度作成したら動的に調整することはできません。そのため、インデックスを通して配列から要素を削除することはできません。要素を削除したい場合は、以下の2つの方法があります。
- 新しい配列を生成し、必要な要素を新しい配列へコピーします。System.arraycopy()メソッドやArrays.copyOf()メソッドを使用して実装できます。例:
// 假设原始数组为arr,需要删除的元素下标为index
int[] newArr = new int[arr.length - 1];
System.arraycopy(arr, 0, newArr, 0, index);
System.arraycopy(arr, index + 1, newArr, index, arr.length - index - 1);
- 削除対象の要素を特定の値(例えば 0 や null)に置き換えて、配列を使用する際に置き換えた要素を無視する。この手法は Integer や String などのラッパークラス型の要素のある配列に適用可能である。例えば、
// 假设原始数组为arr,需要删除的元素下标为index
arr[index] = null;
この両方の方法による配列からの要素削除は新しい配列を作成することに注意してください。要素を頻繁に削除する必要がある場合は、より便利な素子操作メソッドを提供するArrayListクラスの使用を推奨します。