Java サンプル - 配列要素の削除
Javaの配列は固定長であるため、直接削除することはできません。新しい配列を作成して、元の配列で保持したい要素を新しい配列に入れるだけで済みます:
Main.java ファイル
import java.util.Arrays;
public class サンプルTest {
public static void main(String[] args) {
int[] oldarray = new int[] {3, 4, 5, 6, 7};//元の配列
int num = 2; //インデックス2の要素、すなわち3番目の要素5を削除します
int[] newArray = new int[oldarray.length-1];//新しい配列。長さは元の配列より1短い
for(int i=0;i<newArray.length; i++) {
//要素が範囲外かどうかを判定
if (num < 0 || num >= oldarray.length) {
throw new RuntimeException("要素が範囲外です...");
}
//
if(i<num) {
newArray[i] = oldarray[i];
}
else {
newArray[i] = oldarray[i+1];
}
}
//配列の内容を出力
System.out.println(Arrays.toString(oldarray));
oldarray = newArray;
System.out.println(Arrays.toString(oldarray));
}
}
上記のコードを実行した出力結果は次のとおりです:
[3, 4, 5, 6, 7] [3, 4, 6, 7]
この機能を実現するにはArrayListを使用することもできます。ArrayListは動的配列なので、操作がより便利です。
次の例では、ArrayListのremove ()メソッドを使用して配列リストの要素を削除する方法を示しています:
Main.java ファイル
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> objArray = new ArrayList<String>();
objArray.clear();
objArray.add(0,"0番目の要素");
objArray.add(1,"1番目の要素");
objArray.add(2,"2番目の要素");
System.out.println("配列要素削除前:"+objArray);
objArray.remove(1);
objArray.remove("0番目の要素");
System.out.println("配列要素削除後:"+objArray);
}
}
上記のコードを実行した出力結果は次のとおりです:
数组删除元素前:[第 0 个元素, 第 1 个元素, 第 2 个元素] 数组删除元素后:[第 2 个元素]その他の拡張
Java サンプル