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);
}
}
效果圖: