1. 程式人生 > >for迴圈中移除元素問題

for迴圈中移除元素問題

java list移除新增元素操作
for迴圈中移除元素一般會報錯
java.util.ConcurrentModificationException
還是建議用iterator
之前自己寫過有個邏輯用到了類似結構沒報錯 ,for迴圈中加了break所以被改變的list不會訪問第二次也就不會報錯了。
邏輯是如果存在物件移動到第一位,大致結構如下

	for (User item : list) {
			if ("佩奇 ".equals(item.getName())) { // 移出第一位不會有問題
			 list.remove(item); 
			 list.add(0, item);
			 break; //跳出迴圈
			}
		}

還有一種方式移除元素利用下標

 for(int i =0;i<list.size();i++){
                   if(i%2==0){
                      list.remove(list.get(i));
                   }
                }