将字符串数组拆分为二维字符数组

时间:2016-03-26 21:20:45

标签: java arrays string

我想将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}}

我想动态地执行此操作,我可以将字符串拆分为字符,但无法按此顺序存储。

5 个答案:

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