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

またはJava - ArrayList <Integer> [] []は可能ですか?

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

が動作しない、私はそれをマトリクス状にのArrayListを格納することも可能ではないことを考え始めていますか?

+1

何を達成したいですか?あなたが投稿した2つのものは、コンパイルされないので、明らかに不可能です。あなたが何を望んでいるか教えていただけますか? –

答えて

7

あなたはまだ使用したい場合は、配列:

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

は、それはあなたがその値として整数のリストから成るされるリストことを意味し、この、

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

List

+0

私がしようとしているのは、各位置にArrayListを持つ多次元配列(行列)を作成することです。 – Sane

+0

これはあなたにとって完璧です。 –

+2

確かにわかりにくいですが、OPが実際に3dマトリックスを望んでいるように聞こえるのは、セルがarraylistsである2dマトリックスです。 – CPerkins

1

使用に関する詳細

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

読み取りをお試しください。

0

ジェネリックと配列は、一般的によく混ぜていないが、これは動作します(無視しても安全警告を与える):

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

まだあなたは配列にリストを保存したい場合、あなた宣言と初期化を分離する必要があります。

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

は、ArrayListオブジェクトの2次元配列を指定します。

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

は、1つの特定のセルを整数の新しいArrayListで初期化します。

関連する問題