Java List 遍历移除偶数元素 - 解释 30 为什么保留
"已知集合List<Integer> nums 中的数字为[20,9,22,30,38,46,5,1,33];\n现在对nums进行如下遍历操作:\nfor(int i=0;i<ls.size();i++){\n if(ls.get(i)%2==0){\n ls.remove(i); \n\n}\n}\n请问操作后,集合nums中的内容是什么\n为什么包含30内容:操作后,集合nums中的内容为[9, 22, 38, 46, 5, 1, 33]。\n\n在遍历操作中,如果遇到一个偶数,则会将该元素从集合中移除。但是在遍历过程中,如果移除了一个元素,后面的元素会向前移动填补空缺。因此,当遍历到30时,它的索引为3,移除后,后面的元素会向前移动,原来的索引为4的元素变成了索引为3的元素,所以30被跳过,没有被移除。"
原文地址: https://www.cveoy.top/t/topic/qg3r 著作权归作者所有。请勿转载和采集!