Java從集合中去除掉某個元素

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);
	}

}

效果圖:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章