如何在java中初始化一个二维字符串数组

Posted

技术标签:

【中文标题】如何在java中初始化一个二维字符串数组【英文标题】:How to initialize a 2D array of strings in java 【发布时间】:2014-12-08 16:23:08 【问题描述】:

我知道如何声明数组并且我已经这样做了:

String[][] board1 = new String[10][10];

现在我想让它默认每个空格都是“-”(当然没有引号)。我见过其他类似的问题,但答案对我来说没有意义。我能理解的是,我可能需要一个 for 循环。

【问题讨论】:

【参考方案1】:

我能想到的最快方法是像这样使用Arrays.fill(Object[], Object)

String[][] board1 = new String[10][10];
for (String[] row : board1) 
    Arrays.fill(row, "-");

System.out.println(Arrays.deepToString(board1));

这是使用For-Each 来迭代board1String[](s) 并用“-”填充它们。然后它使用Arrays.deepToString(Object[]) 打印它。

【讨论】:

【参考方案2】:

你可以...

String[][] board1 = new String[][] 
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
    "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
;

String[][] board1 = new String[10][10];
for (int outter = 0; outter < board1.length; outter++) 
    String[] row = new String[board1[outter].length];
    for (int inner = 0; inner < row.length; inner++) 
        row[inner] = "-";
    
    board1[outter] = row;

String[][] board1 = new String[10][10];
for (int outter = 0; outter < board1.length; outter++) 
    for (int inner = 0; inner < board1[outter].length; inner++) 
        board1[outter][inner] = "-";
    

【讨论】:

其实我真的很想知道为什么first method 不能指定大小。真的不能,为什么? new long[2][2] 1, 1, 1, 0; 将失败。 @Hearen 真的从来没有想过,但我认为语言基本上只是说你要么提前告诉我,要么给我看 这有点道理,但如果两者都提供仍然很奇怪,它会变成一个错误

以上是关于如何在java中初始化一个二维字符串数组的主要内容,如果未能解决你的问题,请参考以下文章

c语言二维数组如何初始化

C程中如何计算数组(一维及二维)占内存空间的大小

java字符串数组去重并计数

Java中数组的使用

JAVA中如何创建一个二维数组,然后给二维数组赋值!

如何在PHP的二维数组中进行模糊搜索?