Получить значение из ArrayList в Java - PullRequest
0 голосов
/ 24 января 2012

Я добавил некоторые значения в drawPoints[][] и затем создал ArrayList Объектные точки, которые

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

Теперь я хочу получить значение drawPoints из точек, как я могу это сделать?

Ответы [ 5 ]

3 голосов
/ 24 января 2012

Вы просто помещаете 2d массив в первый слот ArrayList.Итак, вы написали бы:

 int[][]somePoints = (int[][])points.get(0);
3 голосов
/ 24 января 2012

Вам необходимо получить доступ сначала drawPoints в вашем ArrayList с помощью

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

и тогда вы сможете получить значения, например,

tmp[0][1];

Вот небольшой пример программы, которая печатает значения двух 2D-массивов, которые хранятся в 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 голосов
/ 24 января 2012

ArrayList поддерживается одномерным массивом.Если вы хотите имитировать drawPoints[][], я предлагаю использовать ArrayList, затем выполнить итерацию по нему, чтобы заполнить его, а затем получить значения.

0 голосов
/ 24 января 2012

points.get(i) дает вам значение, в данном случае i = 0.

0 голосов
/ 24 января 2012

если я правильно понимаю:

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