我想在二维数组中添加动态项
现在我有了如下所示的数组,
private static final Object[][] DATA = { { "One", Boolean.TRUE }, { "Two", Boolean.FALSE },
{ "Three", Boolean.TRUE }, { "Four", Boolean.FALSE }, { "Five", Boolean.TRUE }, { "Six", Boolean.FALSE },
{ "Seven", Boolean.TRUE }, { "Eight", Boolean.FALSE }, { "Nine", Boolean.TRUE }, { "Ten", Boolean.FALSE },
{ "One", Boolean.TRUE }, { "Two", Boolean.FALSE }, { "Three", Boolean.TRUE }, { "Four", Boolean.FALSE },
{ "Five", Boolean.TRUE }, { "Six", Boolean.FALSE }, { "Seven", Boolean.TRUE }, { "Eight", Boolean.FALSE },
{ "Nine", Boolean.TRUE }, { "Ten", Boolean.FALSE } };
而不是我想要动态地添加每个项目 {" Nine",Boolean.TRUE} 。你能建议我这样做吗?提前谢谢。
答案 0 :(得分:2)
如果我理解你的问题,你需要这个步骤:
创建一个数字数组:
String[] numbers = {"One", "Two", "Three", ...};
循环遍历此数组并检查索引是否使用Boolean.TRUE
是否使用Boolean.FALSE
String[] numbers = {"One", "Two", "Three", ...};
Object[][] data = new Object[numbers.length][];
for (int i = 0; i < numbers.length; i++) {
if (i % 2 == 0) {
data[i] = new Object[]{numbers[i], Boolean.TRUE};
} else {
data[i] = new Object[]{numbers[i], Boolean.FALSE};
}
}
如果您使用:
System.out.println(Arrays.deepToString(data));
输出结果为:
[[One, true], [Two, false], [Three, true], ...]
但这不是存储值的更好方法,而是可以创建自己的Object,它可以有两个参数String和Boolean:
class MyObject{
String n;
Boolean;
...
}