gpt4 book ai didi

Java Arraylist.remove 删除第一次出现而不是索引,即使我输入了一个 int?

转载 作者:行者123 更新时间:2023-11-29 06:53:35 26 4
gpt4 key购买 nike

<分区>

Arraylist.remove 删除第一次出现而不是索引,即使我在 .remove(int i) 中输入了一个 int?让我有一个随机数量的数组列表“数字”,对于这个例子,假设我们有 {1,3,5,2,4,6}

ArrayList<Integer> numbers = new ArrayList<Integer>();
aList.add(1);
aList.add(3);
aList.add(5);
aList.add(2);
aList.add(4);
aList.add(6);

我想根据索引删除所有奇数。我通过以下方式创建了另一个包含其索引的 Arraylist:

int origSize = numbers.size();
for (int i = 0; i < origSize; i++) {
if (numbers.get(i) % 2 != 0) {
numbers.add(numbers.get(i));
remover.add(i);
}

出于某种原因,当我使用 .remove 函数根据其索引删除元素时,它会删除第一个出现的元素。我的语法是正确的,或者,我正在做 .remove(int i) :

        for (int i = (remover.size() - 1); i>=0; i--) {
numbers.remove(remover.get(i));
}

在我的示例中,5 出现在索引 2 处。但是运行 .remove(remover.get(i))(应该是 .remove(2))会删除第一次出现 2…最终,我得到 {3,5,4,6} 因为它删除了 2,1 和 0 而不是那些索引。为什么会这样?

非常感谢您的帮助。

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