在Java中,由于数组的大小是固定的,不能直接删除数组中的元素。但是,可以通过以下几种方法来删除二维数组中的元素:
创建新数组并复制元素
int[][] originalArray = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};int rowToRemove = 1;int colToRemove = 1;int[][] newArray = new int[originalArray.length - 1][originalArray.length - 1];for (int i = 0; i < newArray.length; i++) {for (int j = 0; j < newArray[i].length; j++) {if (i < rowToRemove || (i == rowToRemove && j < colToRemove)) {newArray[i][j] = originalArray[i][j];} else if (i > rowToRemove || (i == rowToRemove && j > colToRemove)) {newArray[i][j] = originalArray[i - 1][j - 1];}}}// 输出新数组for (int i = 0; i < newArray.length; i++) {System.out.println(Arrays.toString(newArray[i]));}
使用`System.arraycopy`方法
int[][] originalArray = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};int rowToRemove = 1;int colToRemove = 1;int[][] newArray = new int[originalArray.length - 1][originalArray.length];System.arraycopy(originalArray, 0, newArray, 0, rowToRemove * originalArray.length);System.arraycopy(originalArray, rowToRemove + 1, newArray, rowToRemove * originalArray.length, (originalArray.length - rowToRemove - 1) * originalArray.length);// 输出新数组for (int i = 0; i < newArray.length; i++) {System.out.println(Arrays.toString(newArray[i]));}

使用`ArrayList`(如果二维数组存储在`List`对象中):
import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Main {public static void main(String[] args) {List> arrayList = new ArrayList<>(Arrays.asList(
Arrays.asList(1, 2, 3),Arrays.asList(4, 5, 6),Arrays.asList(7, 8, 9)));arrayList.remove(1); // 删除第二行System.out.println(arrayList);}}
以上方法都可以用来删除二维数组中的元素,但请注意,这些方法都会创建一个新的数组,而原始数组保持不变。如果需要直接修改原始数组,可能需要使用其他数据结构,如`ArrayList`
