2011-07-25 11 views
6
ArrayList<Integer>[][] matrix = new ArrayList<Integer]>[sizeX][sizeY](); 

lubJava - Czy ArrayList <Integer> [] [] jest możliwe?

ArrayList<Integer>[][] matrix = new ArrayList<Integer]>()[sizeX][sizeY]; 

nie pracują, zaczynam myśleć, że to nie jest nawet możliwe do przechowywania ArrayLists w matrycy?

+1

Co chcesz osiągnąć? Dwie rzeczy, które zamieściłeś, są wyraźnie niemożliwe, ponieważ nie kompilują się. Czy możesz nam powiedzieć, czego [chcesz] *? –

Odpowiedz

7

Jeśli nadal chcesz używać i tablica:

ArrayList<Integer>[][] matrix = new ArrayList[1][1]; 
    matrix[0][0]=new ArrayList<Integer>(); 
    //matrix[0][0].add(1); 
1

Spróbuj

List<List<Integer>> twoDList = new ArrayList<ArrayList<Integer>>(); 

Czytaj więcej na List

+0

Co próbuję zrobić, to utworzyć wielowymiarową tablicę (macierz), w której mam ArrayList na każdej pozycji. – Sane

+0

ok. to jest dla ciebie idealne. –

+2

Trudno się upewnić, ale wygląda na to, że OP faktycznie chce matrycy 3D: macierz 2d, której komórki są listami macierzy. – CPerkins

1

użyć tego,

List<List<Integer>> matrix = new ArrayList<ArrayList<Integer>>(); 

Oznacza to, że lista będzie składająca się z listy liczb całkowitych jak jego wartości.

0

rodzajowych i tablice na ogół nie dobrze wymieszać, ale to będzie działać (daje ostrzeżenie, które można zignorować):

ArrayList<Integer>[][] matrix = new ArrayList[sizeX][sizeY]; 
0

Jeśli chcesz przechowywać listę w tablicy wtedy jeszcze trzeba oddzielić oświadczenia i inizialization:

ArrayList<Integer>[][] matrix = new ArrayList[10][10]; 

określi 2-dim-tablicę ArrayList obiektów.

matrix[0][0] = new ArrayList<Integer>(); 

zainicjuje jedną konkretną komórkę z nową ArrayList of Integers.

Powiązane problemy