list迴圈改變元素的值寫法

2021-08-04 21:44:05 字數 1924 閱讀 5989

for迴圈可以修改物件內容  , 但是重新賦值無效 , 另外不可以刪除和新增元素

集合或者陣列中 , 存放的是物件的引用 , 而不是對本身 , 對於字串來說 , 存的就是這個字串, 而不是這個字串物件

如果你在迴圈中修改字串, 其實是對字串重新賦值 , 但是原本字串的那個引用, 是沒有發生改變的 , 所以修改沒有用

如果你放的是乙個物件 , 比如person, 那麼你可以在迴圈中對person這個物件中的屬性進行修改 , 比如修改他的 age屬性 , 但是不能重新賦值, 也就是不能用 p = new person(); **不會報錯 , 但是這個操作不會影響集合中這個元素的內容

另外 ,增強for迴圈其他地方都和普通for迴圈一樣, 唯一的不同是 , 他不能獲得集合的下標 , 也就是說不能對指定位置的元素進行處理 , 只能根據元素本身的屬性進行一系列判斷

上面這段文字是網上獲取,忘記**。

增強for注意

public

static

void

testforeach()

//1.資料庫查詢出列表

// listplist = persondao.getlist();

//2. 修改值

for (person person : plist)

//3. 重新插入

// persondao.batchinsert(plist);

for (person person : plist)

}

list的set方法

public

static

void

testsetfunction()

//列印值

for (person person : plist)

//2. 修改後的值

for (int i = 0; i < plist.size(); i++)

for (person person : plist)

}

新增乙個list

public

static

void

testnewlist()

//列印值

for (person person : plist)

//2. 修改後的值

listnewlist = new arraylist();

for (person person : plist)

for (person person : newlist)

}

iterator迭代器

public

static

void

testiterator()

//列印值

for (person person : plist)

//2. 修改後的值

iteratorit = plist.iterator();

while (it.hasnext())

iteratorit2 = plist.iterator();

while (it.hasnext())

}

copyonwritearraylist

public

static

void

testcopyonwritearraylist()

//列印值

for (person person : plist)

//2. 修改後的值

for (person person : plist)

//列印

for (person person : plist)

}

python中改變list中list值的問題

l s 0,0,0 for i in range 3 l 1 1 1 print l 如上 定義乙個空list,新增元素也為list型別。本意是想改變list l中乙個值,使其結果為 0,0,0 0,1,0 0,0,0 但執行的結構下圖所示,將list l中的所有元素都改變了。為找到原因,檢視pyt...

迴圈中刪除List中的元素

remove 方法刪除元素後會立刻更新list的size,因此index也發生了變化,會導致漏掉某些元素。for int i 0 i解決方案一 在刪除某乙個元素後直接break,當然這種情況只適合刪除乙個特定元素,不適合刪除多個元素 解決方案二 index回退一位,如下 for int i 0 i刪...

List迴圈輸出時刪除元素

listlists new arraylist lists.add ad lists.add dv lists.add dvs lists.add adf for int i 0 isystem.out.println s 結果dvs adf因為你在lists.remove s 的時候,ad被刪除了...