平時最常用的莫過于<code>ArrayList</code>和<code>HashMap</code>了,面試的時候也是問答的常客。先不去管容量、負載因子什麼的,就是簡單的使用也會遇到坑。
<a></a>
經常遇到的一個場景是:周遊list, 然後找到合适條件的給删除掉,比如删除所有的偶數。
看起來好像沒問題,加入面試的時候當面問:輸出結果是什麼?再問真不會報錯嗎?再問結果是什麼?
報錯
結果是空list
結果是[1, 2, 5]
[1, 3, 4]
報錯: java.lang.UnsupportedOperationException
否,報錯java.util.ConcurrentModificationException
報錯: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
這是很好的習慣, 不像開頭那樣每次循環都計算一次size,而且按這種情況還可以再運作的時候報錯。文初的做法不報錯,但結果并不是我們想要的。
報錯: java.util.ConcurrentModificationException
本文轉自Ryan.Miao部落格園部落格,原文連結:http://www.cnblogs.com/woshimrf/p/java-arryalist-remove.html,如需轉載請自行聯系原作者