Java:具有类似于ArrayList的方法/功能的Bidimensional Array

Pau*_*ica 5 java arrays arraylist multidimensional-array

我想创建一个整数的XY数组(或任何类型),但我想使用类似于ArrayList类的"add","remove","contains","indexOf"等方法.

有没有这些功能的现有课程?

PS:我不想创建ArrayList的ArrayList

Har*_*ded 3

不,据我所知,没有这样的课程。但实施一个应该相当容易:

class BiDimensionalArray<T>{
  Object[][] backupArray;
  int lengthX;
  int lengthY;

  public BiDimensionalArray(int lengthX, int lengthY) {
    backupArray = new Object[lengthX][lengthY];
    this.lengthX = lengthX;
    this.lengthY = lengthY;
  }

  public void set(int x, int y, T value){
    backupArray[x][y] = value;
  }

  public T get(int x, int y){
    return (T) backupArray[x][y];
  }

  public void addX(T[] valuesY) {
    Object[][] newArray = new Object[lengthX+1][lengthY];
    System.arraycopy(backupArray, 0, newArray, 0, lengthX);
    newArray[lengthX]=valuesY;
    backupArray = newArray;
    lengthX = lengthX+1;
  }
}
Run Code Online (Sandbox Code Playgroud)

注意:Type 参数不在内部使用,因为不存在这样的东西new T[][]

编辑
添加了用于演示的 addX 方法
修复了编译错误