用布尔值填充二维数组

3

在我的类中,我有以下这些属性:

boolean rendered[][] = new boolean[][]{};
String tabs[] = { "Tab 1", "Tab 2" };
int rows = 10;

我想创建一个具有两个主要级别(tabs 数组中的两个元素)的数组,每个级别都有 10 个元素(变量 rows),并且值为 false

3个回答

5

您可以将其视为[row][column]或[column][row],但前者有使用历史。

int rows = 10, int columns = 2
boolean rendered[][] = new boolean[rows][columns];
java.util.Arrays.fill(rendered[0], false);
java.util.Arrays.fill(rendered[1], false);

3
布尔型数组(不是Boolean)默认用false填充。如果我们想重置已使用的数组或将值设置为true,则需要最后两行。 - Pshemo
3
越多知道,我从回答问题中学到了一些东西 ;) - arynaq
你如何将那种类型的数组声明为类字段? - In-young Choung

1
首先,您需要告诉编译器您的数组长度:
boolean rendered[][] = new Boolean[4][5];

然后您可以继续填写它。
for(int i = 0; i < rendered.length; i++)
    for(int j = 0; j < rendered[i].length; j++)
        rendered[i][j] = false;

如果您使用 boolean rendered[][] = new boolean[4][5];,则不需要遍历整个数组,因为每个 boolean 数组元素默认设置为 false - Pshemo

0

你可能需要使用Arrays#fill方法:

boolean rendered[][] = new boolean[rows][columns]; // you have to specify the size here
for(boolean row[]: rendered)
    Arrays.fill(row, false);

(Arrays#fill只能在一维数组上操作,因此您必须自己使用for循环迭代其余的维度。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接