首页 > 代码库 > java.util.List的remove()方法
java.util.List的remove()方法
public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(3); list.add(4); for (int i=0; i<list.size(); i++) { if (list.get(i) == 3) { list.remove(i);//这样写不对,需要写成list.remove(i--) } } System.out.println(list); }
如果要遍历list进行过滤,比如过滤掉值为3的
本以为这代码再简单不过,可还是掉坑里了,上面的代码这样写的话,元素3是过滤不完的,只要list中有相邻2个相同的就过滤不完
List调用remove(index)方法后,
会移除index位置上的元素,index之后的元素就全部依次左移,即索引依次-1
要保证能操作所有的数据,需要把index-1,
否则原来索引为index+1的元素就无法遍历到
(因为原来索引为index+1的数据,在执行移除操作后,索引变成index了,如果没有index-1的操作,就不会遍历到该元素,而是遍历该元素的下一个元素)。
java.util.List的remove()方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。