第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ArrayList異常

ArrayList異常

陪伴而非守候 2019-07-01 10:05:41
ArrayList異常我有以下代碼:private String toString(List<DrugStrength> aDrugStrengthList) {     StringBuilder str = new StringBuilder();         for (DrugStrength aDrugStrength : aDrugStrengthList) {             if (!aDrugStrength.isValidDrugDescription()) {                 aDrugStrengthList.remove(aDrugStrength);             }         }         str.append(aDrugStrengthList);         if (str.indexOf("]") != -1) {             str.insert(str.lastIndexOf("]"), "\n          " );         }     return str.toString();}當我試圖運行它時,我得到ConcurrentModificationException,有人能解釋為什么會發(fā)生這種情況,即使代碼運行在同一個線程中嗎?我怎么才能避免呢?
查看完整描述

3 回答

?
狐的傳說

TA貢獻1804條經(jīng)驗 獲得超3個贊

如果您使用“為每個”循環(huán)瀏覽列表,則不能從列表中刪除。你可以用Iterator..取代:

for (DrugStrength aDrugStrength : aDrugStrengthList) {
    if (!aDrugStrength.isValidDrugDescription()) {
        aDrugStrengthList.remove(aDrugStrength);
    }}

有:

for (Iterator<DrugStrength> it = aDrugStrengthList.iterator(); it.hasNext(); ) {
    DrugStrength aDrugStrength = it.next();
    if (!aDrugStrength.isValidDrugDescription()) {
        it.remove();
    }}


查看完整回答
反對 回復 2019-07-01
?
呼如林

TA貢獻1798條經(jīng)驗 獲得超3個贊

就像其他答案一樣,您不能從正在迭代的集合中刪除項。您可以通過顯式地使用Iterator把物品移走。

Iterator<Item> iter = list.iterator();while(iter.hasNext()) {
  Item blah = iter.next();
  if(...) {
    iter.remove(); // Removes the 'current' item
  }}


查看完整回答
反對 回復 2019-07-01
?
鴻蒙傳說

TA貢獻1865條經(jīng)驗 獲得超7個贊

我喜歡循環(huán)的反向順序,例如:

int size = list.size();for (int i = size - 1; i >= 0; i--) {
    if(remove){
        list.remove(i);
    }}

因為它不需要學習任何新的數(shù)據(jù)結構或類。


查看完整回答
反對 回復 2019-07-01
  • 3 回答
  • 0 關注
  • 569 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號