Fel*_*-MB 2 java arraylist modulus
import java.util.*;
public class AddingIntegers{
public static void main(String []args){
ArrayList <Integer> list = new ArrayList<>(Arrays.asList(10,20,30));
add(list);
}
public static void add(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);
}
}
Run Code Online (Sandbox Code Playgroud)
预期输出:[20,10,20,30,30,10]
实际输出:[20、10、20、30、30、20]
因此,我不明白为什么对于最后一个索引,当i = 0时,在列表末尾添加20,就我而言应该是10。
让我们看看每个循环会发生什么。开始:[10, 20, 30]。
我= 2
表达式i % 2为0,因此索引2(30)的元素被追加到列表的末尾。现在的清单是[10, 20, 30, 30]。
我= 1
表达式i % 2为1,因此索引1(20)的元素将插入列表的开头。现在的清单是[20, 10, 20, 30, 30]。请注意,20现在位于列表的开头。
我= 0
表达式i % 2为0,因此索引为0(20)的元素被追加到列表的末尾。现在的清单是[20, 10, 20, 30, 30, 20]。请注意,20附加了not 10,因为10它不再位于列表的开头20。
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |