gpt4 book ai didi

java - 根据索引的模数将整数添加到 ArrayList

转载 作者:行者123 更新时间:2023-11-30 06:02:19 24 4
gpt4 key购买 nike

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

}

预期输出:[20, 10, 20, 30, 30, 10]

实际输出:[20, 10, 20, 30, 30, 20]

所以我不明白为什么,对于最后一个索引,当 i = 0 时,20 被添加到列表的末尾,就我而言,它应该是 10。

最佳答案

让我们看看每个循环会发生什么。开始:[10,20,30]

  • i = 2

    表达式i % 20,因此索引2处的元素(30)被追加到列表的末尾。该列表现在为[10, 20, 30, 30]

  • i = 1

    表达式i % 21,因此索引1处的元素(20)被插入到列表的开头。该列表现在为[20, 10, 20, 30, 30]。请注意,20 现在位于列表的开头。

  • i = 0

    表达式i % 20,因此索引0处的元素(20)被追加到列表的末尾。该列表现在为[20, 10, 20, 30, 30, 20]。请注意,附加的是 20,而不是 10,因为 10 不再位于列表的开头,而是 20是。

关于java - 根据索引的模数将整数添加到 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55247624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com