List remove的使用

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


public class ListRemoveTest {
	 public static void main(String[] args) {
		 List<String> list = new ArrayList<String>();
		 int i =0;
		 for(i=0;i<3;i++){
			 list.add("aaaaa1111");
		 }
		 
		//第一種方式
		//從後面遍歷就沒必要考慮長度的問題了,移除後面的對象不會對整個鏈表位置產生變化
		int size =list.size();
		for(i=size-1;i>-1;i--){
			if("aaaaa1111".equals(list.get(i))){
				list.remove(i);
			}
		}
		//第二種
		//遍歷的長度必定要是list.size(),由於後面移除對象以後就會致使list長度變化
		for(i=0;i<list.size();i++){
			if("aaaaa1111".equals(list.get(i))){
				list.remove(i);
				i--;
			}
		}
		//第三種
		//最經常使用的方式
		Iterator<String> it = list.iterator();  
        while(it.hasNext()){
            if("aaaaa1111".equals(it.next())){  
                //移除當前的對象  
                it.remove();  
            }  
        }
        System.err.println(list.size());
	 }
}
相關文章
相關標籤/搜索