2013-02-27 125 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數組。這種不必要的複雜,但你得到尋求和個人字母字符,而無需經過調整原始數組的大小繁瑣的過程。