从java中的ArrayList中检索值

时间:2012-01-24 19:08:50

标签: java arraylist multidimensional-array

我已为drawPoints[][]添加了一些值,然后创建了一个ArrayList对象点

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

现在我想从点检索drawPoints的值,我该怎么做?

5 个答案:

答案 0 :(得分:3)

您只需将一个2d数组放入ArrayList的第一个插槽中。所以你要写:

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

答案 1 :(得分:3)

您需要使用

访问ArrayList中的第一个drawPoints
int[][] tmp = (int[][]) points.get(0);

然后您将能够获得值,例如

tmp[0][1];

这是打印存储在ArrayList中的两个2​​D数组值的程序的一个小例子:

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("------------");
}

答案 2 :(得分:0)

如果我理解正确的话:

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

答案 3 :(得分:0)

points.get(i)为您提供值,在本例中为i = 0

答案 4 :(得分:0)

ArrayList由一维数组支持。如果您想模仿drawPoints[][],我建议使用ArrayList,然后迭代它以填充它,然后检索值。