1.移除List集合中某一个元素
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
//试图用遍历结集合来移除集合中的某个元素?但是,你就会发现报
for (String str : list) {
if("王五".equals(str)){
list.remove("王五");
}
}
System.out.println(list);
}
}
效果图:
注:
通常情况下,遍历list集合去移除其中的一个元素时,一般情况下可以移除正常,但是有时会报ConcurrentModificationException错误异常,所以用上面这种方式去移除集合中一个元素不妥。
2.用迭代器来实现移除集合中的元素
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String[] args) {
removeFile();
}
public static void removeFile(){
List<String> list = new ArrayList<String>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
//试图用遍历结集合来移除集合中的某个元素?但是,你就会发现报ConcurrentModificationException错误异常
/* for (String str : list) {
if("王五".equals(str)){
list.remove("王五");
}
} */
//在移除某个集合中的元素时,应该怎么做?只能通过迭代器来实现移除
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
String next = iterator.next();
if("李四".equals(next)){
iterator.remove();
}
}
System.out.println(list);
}
}
效果图: