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

时间:2015-05-12 11:17:49

标签: java loops arraylist match add

我有2个不同大小的ArrayLists。示例 - Array1.size()= 10 Array2.size()= 5 我希望这些数组在任何时候都具有相同的大小。因此,我有另一个班来确保这一点。但很明显,它并不适合我。请帮忙! 下面是类代码 -

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

以上循环只是为了不添加“测试”。到Array2所以它匹配Array1的大小。有什么想法吗?请帮忙!

3 个答案:

答案 0 :(得分:2)

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

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");
}

答案 1 :(得分:1)

根据doc for循环:

  
    

for(initialization; termination; increment){         声明}     使用此版本的for语句时,请记住:

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

在你的情况下,循环是:

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

它从5 (Arrays2.size())开始,检查i==10是否为真(读为false),因此它终止而不做任何事情。它根本不会进入循环。

答案 2 :(得分:0)

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

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