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

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

ArrayLIst集合遍歷中CPU暴增

ArrayLIst集合遍歷中CPU暴增

富國滬深 2019-02-16 16:40:38
在語句if ("b".equals(list.get(i--))) 中,錯吧get(i)寫成了get(i--),在運行時cpu飆到快100%。按照ArrayList的索引遍歷集合,當i從0開始時,經(jīng)過get(i--)后,在remove(i--)處,相當于remove(-1),那么為什么不報錯呢?使用的是eclipse public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("b"); list.add("c"); list.add("d"); //1. 普通for循環(huán)刪除集合元素 for (int i = 0 ; i < list.size();i++) { if ("b".equals(list.get(i--))) { //錯把 get(i) 寫為get(i--) list.remove(i--); System.out.println("已經(jīng)刪除b"); } } System.out.println(list);
查看完整描述

4 回答

?
蝴蝶刀刀

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

for (int i = 0 ; i < list.size();i++) {
    if ("b".equals(list.get(i--))) {    //list.get(i--)值為'a',執(zhí)行完以后i的值為-1,在下一個循環(huán)中加上步長,i又變成0
        list.remove(i--);       // 永遠沒有機會執(zhí)行
        System.out.println("已經(jīng)刪除b");
    }
}
查看完整回答
反對 回復 2019-03-01
?
蠱毒傳說

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

i永等于0,進入無限循環(huán)了。for循環(huán)無法結束。

查看完整回答
反對 回復 2019-03-01
?
30秒到達戰(zhàn)場

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

list里面remove元素,要反著來,不能用i++,貌似要用i--的方式

查看完整回答
反對 回復 2019-03-01
?
ABOUTYOU

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

i在0和1之間無限循環(huán)

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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