2012-01-24 58 views
0

值我增加了一些值drawPoints[][],然後做出了ArrayList目標點也就是檢索的ArrayList中的Java

ArrayList points=new ArrayList(); 
points.add(drawPoints); 

現在我想檢索點drawPoints的價值,我該怎麼辦呢?

回答

3

您需要先接入drawPoints在你的ArrayList與

int[][] tmp = (int[][]) points.get(0); 

,然後你就可以用例如

tmp[0][1]; 

下面就來獲取值一個打印存儲在ArrayList中的兩個二維數組的值的程序的一個小例子:

int[][] drawPoints = new int[2][2]; 
int[][] drawPoints2 = new int[2][2]; 
drawPoints[0][0] = 1; 
drawPoints[0][1] = 2; 
drawPoints[1][0] = 3; 
drawPoints[1][1] = 4; 
drawPoints2[0][0] = 5; 
drawPoints2[0][1] = 6; 
drawPoints2[1][0] = 7; 
drawPoints2[1][1] = 8; 
ArrayList<Object> points=new ArrayList<Object>(); 
points.add(drawPoints); 
points.add(drawPoints2); 

for(Object tab : points){ 
    int[][] tmp = (int[][]) tab; 
    for(int i=0;i < tmp.length;i++){ 
     for(int j=0;j<tmp[i].length;j++){ 
      System.out.println(tmp[i][j]); 
     } 
    } 
    System.out.println("------------"); 
} 
+0

我需要做這樣的事嗎? for(int i=0;i ??? – Parth

+0

@ user1167744你想要達到什麼目的? – talnicolas

+0

我想再次從點打印所有drawPoints的值.. – Parth

0

如果我理解正確:

points.get(0); // get the first item (at index 0) from the list 
+0

get(0)我想。 –

+0

哇,你們很快,3條評論,而我正在編輯;)謝謝。 – yurib

3

你只要把一個二維數組到一個ArrayList的第一個插槽。所以,你會寫:

int[][]somePoints = (int[][])points.get(0); 
+0

我需要做這樣的事嗎? for(int i = 0; i Parth

0

points.get(i)給你的價值,在這種情況下,i = 0

0

ArrayList由1維數組支持。如果你想模仿你的drawPoints[][],我建議使用ArrayList,然後迭代它來填充它,然後檢索值。