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

hoặcJava - Là ArrayList <Integer> [] [] có thể?

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

không làm việc, tôi bắt đầu nghĩ rằng nó không phải là thậm chí có thể lưu trữ ArrayLists trong một ma trận?

+1

gì bạn muốn đạt được điều gì? Hai thứ bạn đăng tải rõ ràng là không thể, vì chúng không biên dịch. Bạn có thể cho chúng tôi biết bạn muốn * không? –

Trả lời

7

Nếu bạn vẫn muốn sử dụng và mảng:

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

Hãy thử

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

đọc thêm về List

+0

Những gì tôi đang cố gắng làm là tạo ra một mảng đa chiều (ma trận), nơi tôi có một ArrayList trên mỗi vị trí. – Sane

+0

ok. điều này là hoàn hảo cho bạn sau đó. –

+2

Khó chắc chắn, nhưng có vẻ như OP thực sự muốn một ma trận 3d: ma trận 2d có các ô là mảng danh sách. – CPerkins

1

Sử dụng này,

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

Nó có nghĩa là bạn liệt kê sẽ được bao gồm Danh sách các số nguyên như giá trị của nó.

0

Generics và mảng thường không trộn đều, nhưng điều này sẽ làm việc (đưa ra một cảnh báo, có thể được bỏ qua một cách an toàn):

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

Nếu bạn muốn lưu trữ một danh sách trong một mảng thì bạn vẫn phải tách tờ khai và inizialization:

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

sẽ chỉ định mảng 2-dim của các đối tượng ArrayList.

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

sẽ khởi tạo một ô cụ thể với một ArrayList số nguyên mới.

Các vấn đề liên quan