2013-02-27 4 views
0

J'ai un tableau de chaînes, la carte [] qui ressemble à ...Chaîne Array pour tableau 2D chaîne

"####"

"# GB #"

« #BB # »

"####"

donc la carte [1] = "# GB #"

Comment puis-je en faire un tableau 2D de sorte que newMap [1 ] [1] me donnerait "G"?

Merci beaucoup.

+2

Avez-vous vraiment besoin d'un tableau 2D, ou est-ce que 'map [1] .charAt (1)' suffira? – rgettman

+0

Faut vraiment être un tableau 2D malheureusement. – hunterge

+0

Avez-vous besoin de Strings [] [], ou char [] [] fera aussi l'affaire? – Pshemo

Répondre

3

Si vous en avez vraiment besoin, vous pouvez utiliser String.toCharArray sur chaque tableau d'éléments pour les convertir en tableau.

String[] origArr = new String[10]; 


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

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

Si vous voulez diviser en String[] à la place, vous pouvez utiliser (grâce Pshemo)

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

Ce ne sera pas dynamique. Il faudra O (n) + m pour arriver au caractère d'une chaîne. Une approche beaucoup plus rapide et dynamique serait une Hashmap où la clé est la chaîne et la valeur est un tableau char. Sorte de complexe inutilement complexe mais vous obtenez les chartes de recherche et de lettres individuelles sans avoir à passer par le processus fastidieux de redimensionnement d'un tableau primitif.