關於java List的remove方法

2021-05-23 08:00:14 字數 358 閱讀 3205

今天在做乙個專案的時候,遇到list 中的remove方法。由於有雙重巢狀迴圈,大概是這樣的:

最後發現結果不正確,怎麼回事呢?第一反應把listinfo.remove(info);注釋掉,發現現在結果對啦,那為什麼會出現這樣的錯誤呢?google搜尋,有位同事說的對,原因:list每remove掉乙個元素以後,後面的元素都會向前移動,此時如果執行i=i+1,則剛剛移過來的元素沒有被讀取。那怎麼解決這個問題呢?

方式一: 在內迴圈時,倒過來遍歷 for (int j = listinfo.size()-1; i > =0; i--)

方式二: 在listinfo.remove(info); 後面加一句 j--;

ok,問題得到了解決!

java List的初始化

在設計期望結果集時,需要定義乙個集合包含3個元素。在網上搜了一番後發現 list宣告變數 arrays.aslist 來初始化,如下 listlktablehead arrays.aslist free format expression set by timestamp 這種方法會使得該集合變成固...

Java List 的remove 方法的應用

今天在用list的remove 方法的時候遇到了乙個小問題,由於remove方法是根據list的下標索引區刪除乙個元素的,所以每次remove掉乙個元素之後list的總長度就會減去1,而且list後面的元素會自動的去覆蓋前乙個被刪除元素,如此容易出現下標越界的異常,為了解決這個問題 建議迴圈遍歷li...

8953n的user獲取許可權以及remount

8953n的user 想要root的話 不太方便,當需要push檔案到system下時,需要執行如下步驟 1.先使用fdss signature unlock機台,通過此方式解鎖機台,便能夠獲得root許可權 a 在fastboot下使用 fastboot 89xx getvar cpusn 獲得c...