2013-02-27 101 views
0

我有一个字符串数组,地图[]看起来像...字符串数组至2D字符串数组

“####”

“#GB#”

“#BB #”

“####”

所以映射[1] = “#GB#”

如何变成一个二维数组,使得newMap [1 ] [1]会给我“G”?

非常感谢。

+2

你真的需要一个二维数组吗,还是'map [1] .charAt(1)'就足够了? – rgettman 2013-02-27 01:27:28

+0

Definetely需要是一个不幸的2D数组。 – hunterge 2013-02-27 01:28:05

+0

你需要Strings [] [],还是char [] []也会诀窍? – Pshemo 2013-02-27 01:30:01

回答

3

如果你真的需要它,你可以在每个元素数组上使用String.toCharArray将它们转换成一个数组。

String[] origArr = new String[10]; 


char[][] charArr = new char[10][]; 

for(int i = 0; i< origArr.length;i++) 
    charArr[i] = origArr[i].toCharArray(); 

如果你想要把它分解成String[]相反,你可以使用(感谢Pshemo)

String[] abc = "abc".split("(?!^)"); //-> ["a", "b", "c"] 
0

这会不会是动态的。这将需要O(n)+ m来获得一个字符串的字符。一个更快更动态的方法是一个HashMap,其中键是字符串,值是一个char数组。这种不必要的复杂,但你得到寻求和个人字母字符,而无需经过调整原始数组的大小繁琐的过程。