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

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

如何在迭代時從‘ArrayList’中刪除元素時避免

如何在迭代時從‘ArrayList’中刪除元素時避免

狐的傳說 2019-06-28 16:02:18
如何在迭代時從‘ArrayList’中刪除元素時避免“ConcurrentModificationException”?我試圖從ArrayList當(dāng)像這樣迭代它的時候:for (String str : myArrayList) {     if (someCondition) {         myArrayList.remove(str);     }}當(dāng)然,我得到了一個ConcurrentModificationException當(dāng)嘗試在迭代時同時從列表中刪除項時myArrayList..有什么簡單的辦法來解決這個問題嗎?
查看完整描述

3 回答

?
慕桂英546537

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

Iterator打電話remove():

Iterator<String> iter = myArrayList.iterator();while (iter.hasNext()) {
    String str = iter.next();

    if (someCondition)
        iter.remove();}


查看完整回答
反對 回復(fù) 2019-06-28
?
蝴蝶刀刀

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

作為其他人答案的另一種選擇,我總是這樣做:

List<String> toRemove = new ArrayList<String>();for (String str : myArrayList) {
    if (someCondition) {
        toRemove.add(str);
    }}myArrayList.removeAll(toRemove);

這將避免您必須直接處理迭代器,但需要另一個列表。無論出于什么原因,我總是喜歡這條路。


查看完整回答
反對 回復(fù) 2019-06-28
?
翻翻過去那場雪

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

Java 8用戶可以這樣做:list.removeIf(...)

    List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
    list.removeIf(e -> (someCondition));

它將刪除列表中的元素,滿足某些條件


查看完整回答
反對 回復(fù) 2019-06-28
  • 3 回答
  • 0 關(guān)注
  • 447 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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