需要在java中解释这段代码。 arraylist如何在此代码中工作?

时间:2015-05-28 02:05:07

标签: java arraylist

考虑以下方法:

public static void mystery2(ArrayList<Integer> list) {

    for (int i = list.size() - 1; i >= 0; i--) {

        if (i % 2 == 0) {

            list.add(list.get(i));

        } else {

            list.add(0, list.get(i));

        }

    }

    System.out.println(list);
}

列表是

  

[10,20,30]

     

[8,2,9,7,4]

     

[ - 1,3,28,17,9,33]

并且回答是

  

[20,10,20,30,30,20]

     

[8,7,8,2,9,7,4,4,2,8]

     

[33,28,33,-1,3,28,17,9,33,17,-1,33]

任何人都可以一步一步解释吗?

1 个答案:

答案 0 :(得分:0)

list.add(someNumber)将在列表末尾插入数字,而`list.add(0,someNumber)'将在列表的开头插入数字。请注意,循环不会迭代初始列表的所有元素。