gpt4 book ai didi

java - 如何从ArrayList的开头删除0

转载 作者:行者123 更新时间:2023-12-02 10:11:36 25 4
gpt4 key购买 nike

我的Arraylist(样本)包含:答:[0,6,0,6,0,4,8,8,2]

我想删除列表开头出现的所有 0。预期答案:答:[ 6, 0, 6, 4, 8, 8, 2 ]

我正在尝试:

for(i=0; i<A.size(); i++){
if(A.get(i) == 0)
A.remove(i);
else break;
}

我的输出:答:[6,6,4,8,8,2]

我相信在执行 A.remove() 操作时,索引会发生变化,因此当循环第二次运行时,第二个零的索引变为 1(以前为 2),因此它也被删除。

我应该使用什么替代方案?

最佳答案

问题是,当您从一开始就删除一个项目时,您的 i 将会增加。因此,在第二个循环中,您正在查看索引 1,但索引 0 现在具有您从未查看过的值。它适用于您的示例,因为开头只有一个 0,但会失败并显示 [0, 0, 6, 0]

相反,使用while并且只查看索引0:

while (A.size() > 0 && A.get(0) == 0) {
A.remove(0);
}

关于java - 如何从ArrayList的开头删除0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54968011/

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