java 2dimensional数组到字符串数组

时间:2011-01-25 15:48:30

标签: java arrays multidimensional-array

我有二维数组,其值创建如下:

for(int i=0;i<2;i++) 
{
 for(int j=0;j<4;j++)
 {
    array[i][j]=e.getValues (r,c);
 }
}

将返回:

array[0][0] => 16
array[0][1] => 11
array[0][2] => 7
array[0][3] => 6
array[1][0] => 10
array[1][1] => 7
array[1][2] => 6
array[1][3] => 6

如何将这些值作为单个字符串存储在另一个2d字符串数组中:

arrayValues[0][0] = > {"16,11,7,6"};
arrayValues[1][0] = > {"10,7,6,6"};

任何帮助将不胜感激。 感谢。

4 个答案:

答案 0 :(得分:2)

for(int i=0;i<2;i++) 
{
   for(int j=0;j<4;j++)
   {
     array[i][j]=e.getValues (r,c);


     arrayValues[i][0] += array[i][j];

     if(j < 3) {
       arrayValues[i][0] += ',';
     }

   }  
}

答案 1 :(得分:0)

如果您的问题是如何获取数组并将其转换为包含逗号分隔值的一个字符串,请执行以下操作:

String[] arr = new String[] {1, 2, 3, 4}
String str = Arrays.asList(arr).toString(); // contians "[1, 2, 3, 4]"
String result = str.substring(1, str.length - 1); // contains "1, 2, 3, 4"

如果要在逗号调用replace(", ", "")

后删除空格

请注意,二维数组是一个数组数组,因此您可以轻松地将这种方式应用于二维数组,并在循环中调用此代码。

答案 2 :(得分:0)

String [] newValues = new String[array.length];

for(int i=0;i<newValues.length;i++) {
 for(int j=0;j<array[i].length;j++) {
     newValues[i]= java.util.Arrays.toString(array[i]);
 }
}

您可以通过运行以下来测试:

for(int i=0;i<newValues.length;i++) {
    System.out.println(newValues[i]);
}

将打印出来:

[16, 11, 7, 6]
[10, 7, 6, 6]

如果您描述的完全字符串格式是必要的,您可以将该功能更改为:

for(int i=0;i<newValues.length;i++) {
 for(int j=0;j<array[i].length;j++) {
     newValues[i]= java.util.Arrays.toString(array[i])
               .replace(" ", "").replace("[","{").replace("]","}");
 }
}

将打印出来:

{16,11,7,6}
{10,7,6,6}

答案 3 :(得分:0)

String[] s = new String[2];


String str = new String();
for(int i=0;i<2;i++) 
{
    str = "";
    for(int j=0;j<4;j++)
    {
       array[i][j]=e.getValues (r,c);

       str += Integer.toString(array[i][j]);
       if(j != 3) str += ",";

    }

    s[i] = str;
}