使 ArrayList 大小等于 Java 中可用的其他数组列表

Making ArrayList Size equal to other Array Lists Available in Java

我有 2 个不同大小的 ArrayList。例子 - Array1.size() = 10 Array2.size() = 5 我希望这些数组始终具有相同的大小。因此,我有另一个 class 来确保这一点。但显然,它对我不起作用。请帮忙! 下面是 Class 代码 -

for (int i = Array2.size(); i == Array1.size(); i++) {
       Array2.add(i, "Test");
}

上面的 for 循环没有将 'Test' 添加到 Array2,因此它与 Array1 的大小相匹配。有什么想法吗?请帮忙!

因为 i 永远不会等于 Array1.size(),所以这个循环不会添加任何东西

for (int i = Array2.size(); i == Array1.size(); i++) {
       Array2.add(i, "Test");
}

你的循环使用了错误的条件。

for (int i = Array2.size(); i == Array1.size(); i++) {
       Array2.add(i, "Test");
}

这意味着循环在 i == Array1.size() 期间运行,这当然是无稽之谈。

尝试

for (int i = Array2.size(); i < Array1.size(); i++) {
       Array2.add(i, "Test");
}

根据 doc for 循环是:

for (initialization; termination; increment) { statement(s) } When using this version of the for statement, keep in mind that:

  • 初始化表达式初始化循环;它在循环开始时执行一次。
  • 当终止表达式的计算结果为假时,循环终止。
  • 增量表达式在循环的每次迭代后被调用;这个表达式递增是完全可以接受的 或减少一个值。

在你的例子中,循环是:

for (int i = Array2.size(); i == Array1.size(); i++) {
       Array2.add(i, "Test");
}

它从 5 (Arrays2.size()) 开始,并检查 i==10 是否为真(读为假),因此它在不执行任何操作的情况下终止。它根本不进入循环。