5 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
樓上說(shuō)的很官方了,說(shuō)的直白一點(diǎn)就是for(Object obj:list)這種方式,是不能調(diào)用list的remove方法進(jìn)行刪除元素的操作的,否則會(huì)拋出異常,因?yàn)镮terator需要確定的結(jié)構(gòu),所以想刪除有兩種方法,一種是復(fù)制一個(gè)列表,通過(guò)循環(huán)新列表來(lái)remove老列表中的元素,還有一種是使用for(int i; i<count; i++)這種形式進(jìn)行循環(huán),這樣是可以通過(guò)游標(biāo)進(jìn)行刪除的,自己注意下數(shù)組下標(biāo)不要越界就行了。

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
foreach
是通過(guò)迭代器來(lái)實(shí)現(xiàn)的,使用迭代器遍歷元素時(shí),容器不能試圖改變?nèi)萜鞯慕Y(jié)構(gòu),如remove、add操作會(huì)拋出異常; 可以使用迭代器的remove
方法刪除元素。

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
樓上說(shuō)得很明確了,這里我說(shuō)出兩種簡(jiǎn)單的解決方式
1.迭代器刪除
2.復(fù)制list來(lái)遍歷,然后操作原始的list.
當(dāng)然推薦迭代器刪除

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
你在數(shù)雞蛋的時(shí)候別人偷偷往你籃子了放雞蛋或者拿走雞蛋都會(huì)導(dǎo)致你數(shù)的不對(duì) 除非你自己去拿走或者拿進(jìn)雞蛋,你自己才能記住 同樣的道理在程序中也是這樣的
添加回答
舉報(bào)