当集合中删除特定元素时,应该使用迭代器实现
错误方式:
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list =new ArrayList<String>();
list.add("sbd");
list.add("ed");
list.add("dfg");
list.add("eeb");
list.add("erw");
for(String string:list) {
if(string.equals("ed")) {
list.remove(string);
}
}
}
}
正确方式:
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list =new ArrayList<String>();
list.add("sbd");
list.add("ed");
list.add("dfg");
list.add("eeb");
list.add("erw");
Iterator<String> iterator=list.iterator() ;
while(iterator.hasNext()) {
String string=iterator.next();
if(string.equals("sbd")) {
iterator.remove();
}else {
System.out.println(string);
}
}
}
}