我目前有一个ArrayList(mapArray),这样ArrayList的每个元素都包含一个String,如:
################
所以ArrayList看起来像这样:
################
#..............#
#........G.....#
#..............#
################
所以每个元素都是:
元素0:
################
元素1:
#..............#
元素2:
#........G.....#
元素3:
#..............#
元素4:
################
我如何将这些数据添加到多维数组中,以便第一个元素是行号,第二个元素是字符,例如2DArray [2] [9] = G
到目前为止我已经
了for(int i = 0; i < length; i++){
String element = mapArray.get(i);
elementSplit = element.split("(?!^)");
for(int j = 0; j < elementSplit.length; j++){
TwoDArray [i][j] = [i][elementSplit[j]];
}
}
这似乎不起作用。
感谢您的帮助:)
抱歉这篇长篇文章。
答案 0 :(得分:0)
你可以这样做:
char[][] TwoDArray = new char[mapArray.size()][];
for (int i=0; i<mapArray.size(); i++) {
TwoDArray[i] = mapArray.get(i).toCharArray();
}
请注意,在您的情况下,字母G是位置TwoDArray [2] [9]
答案 1 :(得分:0)
此方法将String ArrayList转换为char [] []。希望这会有所帮助。
public static char[][] to2DCharArray(ArrayList<String> mapArray) {
char[][] c = new char[mapArray.size()][mapArray.get(0).length()];
for(int i = 0; i < mapArray.size(); i++) {
for(int j = 0; j < mapArray.get(i).length(); j++) {
c[i][j] = mapArray.get(i).charAt(j);
}
}
return c;
}