list数组遍历时能不能使用remove()方法,要注意什么

xiaoxiao2021-02-28  26

面试的时候经常会被问到,list遍历时能不能使用remove()方法?

能不能使用呢?话说存在即合理,能使用时肯定可以的,不过要做点修改,看下面直接使用remove()的结果。

List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); for(int i=0;i<list.size();i++){ if(i==1)list.remove(1); System.out.println(list.get(i)); }

输出结果是:

1 3 4

看结果好像没什么错,但是如果是if(i==3),那么就是删除最后一个元素了,那后面的输出语句就会报下标越界了:

因为删掉一个元素后后面的元素下标都会减一,因此实际使用的时候注意到这一点就行了。面试的时候跟面试官说清楚这一点就行了。

转载请注明原文地址: https://www.6miu.com/read-2627844.html

最新回复(0)