数组遍历删除

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("1");
list.add("2");
list.add("2");
list.add("2");
//删除数组中的2

//错误写法
for(int i = 0; i < list.size();i++){
if(list.get(i).equals("2")){
list.remove(i);
}
}

Result: [1,3,1,2]
//正确 应该用倒序删除
for(int i = list.size() -1; i >=0 ;i--){
if(list.get(i).equals("2")){
list.remove(i);
}
}

Result: [1,3,1]