将元素添加到多维数组

时间:2014-02-14 10:26:41

标签: java arrays string for-loop multidimensional-array

我目前有一个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]];
        }
    }

这似乎不起作用。

感谢您的帮助:)

抱歉这篇长篇文章。

2 个答案:

答案 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;
}