我想将String数组元素转换为char数组
例如:
For Ex:
char ch[0][]={'a','b','c'};
ch[1][]={'d','e','f','l'};
ch[2][]={'g','h','i'};
我想将str数组中的字符存储在不同索引中的char arr []中
{{1}}
我想动态地执行此操作,我可以将字符串拆分为字符,但无法按此顺序存储。
答案 0 :(得分:3)
使用以下代码:
1
2, 2
0, 1
答案 1 :(得分:2)
如果您使用的是Java 8,则可以执行
char[][] arr = Stream.of(str).map(String::toCharArray).toArray(char[][]::new);
答案 2 :(得分:0)
简单地:
char[][] ch = new char[str.length];
for(int i = 0 ; i < str.length ; ++i) {
ch[i] = str[i].toCharArray();
}
答案 3 :(得分:0)
您可以初始化2D char数组,而无需指定2D数组中每个数组的长度。通过这样做,您将拥有一个二维空数组数组,因为每个数组的长度都不同,具体取决于字符串中的字符数。因此,根据str中的对应元素,char二维数组的数组在初始化数组后的长度将等于str
中的字符串长度。字符串数组str
中的每个字符串将表示2D char数组中的数组。 2D数组中的每个数组都将包含字符串的字符。这就是你如何实现这一目标的。
char[][] charArr = new char[str.length]; //number of arrays in 2d array
//is length of str array
for(int i = 0; i < charArr.length; i++){ //initializing the arrays in charArr
charArr[i] = new char[str[i].length()];
}
for(int i = 0; i < charArr.length; i++){ //to store the chars in the 2d array
for(int j = 0; j < charArr[i].length; j++){
char[i][j] = str[i].charAt(j);
}
}
答案 4 :(得分:0)
假设您使用的是Java 8:
char[][] chars = Stream.of(str).sequential().map(String::toCharArray).toArray(char[][]::new);