Nein, AFAIK gibt es keine Klasse wie diese. Aber Implementierung sollte man recht einfach sein:
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;
}
}
Hinweis: Die Typeparameter ist intern nicht verwendet, weil es nicht so etwas wie new T[][]
EDITS
Added ADDx Verfahren zur Demonstration
Fixed Compile-Fehler
"Ich möchte keine ArrayList von ArrayList erstellen" Warum? Es würde tatsächlich perfekt zu Ihrer Beschreibung passen. Liegt es daran, dass Sie primitive Typen verwenden möchten? – Searles
Nein. Es ist, weil ich Objekte erstellen möchte, die mehr als eine Zelle belegen, und jeder kann entweder vertikal oder horizontal sein. Wenn wir berücksichtigen, dass die ArrayList vertikal ist, würde ich Probleme mit Objekten horizontal haben, da sie verschiedene Positionen von verschiedenen ArrayLists auf einmal verwenden. –