【发布时间】:2012-01-24 19:08:50
【问题描述】:
我已经为drawPoints[][] 添加了一些值,然后创建了一个ArrayList 对象点,即
ArrayList points=new ArrayList();
points.add(drawPoints);
现在我想从点中检索 drawPoints 的值,我该怎么做?
【问题讨论】:
标签: java arraylist multidimensional-array
我已经为drawPoints[][] 添加了一些值,然后创建了一个ArrayList 对象点,即
ArrayList points=new ArrayList();
points.add(drawPoints);
现在我想从点中检索 drawPoints 的值,我该怎么做?
【问题讨论】:
标签: java arraylist multidimensional-array
您需要使用
访问 ArrayList 中的第一个drawPoints
int[][] tmp = (int[][]) points.get(0);
然后您将能够通过例如获取值
tmp[0][1];
这是一个打印存储在 ArrayList 中的两个 2D 数组的值的小程序示例:
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("------------");
}
【讨论】:
for(int i=0;i<points.size for j="0;j<points.size();j++){" tmp> ???</points.size>
tmp 变量并打印它们的值。
您只需将二维数组放入 ArrayList 的第一个槽中。所以你会写:
int[][]somePoints = (int[][])points.get(0);
【讨论】:
如果我理解正确:
points.get(0); // get the first item (at index 0) from the list
【讨论】:
ArrayList 由一维数组支持。如果你想模仿你的drawPoints[][],我建议使用ArrayList,然后迭代它来填充它,然后检索值。
【讨论】:
points.get(i) 为您提供价值,在本例中为 i = 0。
【讨论】: