Java_遍歷集合過程中刪除集合元素報錯的解決方案
問題描述:使用增強for迴圈遍歷集合,如果遍歷過程中去除第一個或者最後一個元素會報錯,去除中間的元素不會報錯:Exception in thread “main” java.util.ConcurrentModificationException
不知道這個是怎麼回事,好像和指標有關吧(暫時不瞭解),為了避免此類問題的出現,可以使用迭代器或者
普通for迴圈來解決。
1.使用迭代器
程式碼舉例:
public static void removeElement(List<Integer> list) { Iterator<Integer> it = list.iterator(); while(it.hasNext()) { Integer id = it.next(); if (id == 2) { it.remove(); } } }
2.使用普通for迴圈,如果刪除需要i–
public static void removeElement(List list) {
int len = list.size();
for(int i = 0; i < len; i++) {
if(list.get(i) == 2) {
list.remove(i);
i--;
}
}
}
相關推薦
Java_遍歷集合過程中刪除集合元素報錯的解決方案
問題描述:使用增強for迴圈遍歷集合,如果遍歷過程中去除第一個或者最後一個元素會報錯,去除中間的元素不會報錯:Exception in thread “main” java.util.ConcurrentModificationException 不知道這個是
Bootstrap安裝過程中,chrome控制檯報錯解決辦法
今天初次使用Bootstrap,安裝好所有預設的樣式以及JS檔案,執行之後發現Chrome控制檯報錯Uncaught TypeError: Cannot read property 'fn' of undefined 1 <!DOCTYPE html> 2 <html
集合遍歷過程中刪除集合元素問題
集合遍歷過程中如何刪除集合元素,,這個問題應該很簡單,用迭代器即可; public static void main(String[] args) { List<String> strList = new ArrayList<String
【搬磚系列】如何在遍歷List時安全刪除集合元素
1 public void testIterRemove() { 2 List l1 = new ArrayList(Arrays.asList(1, 2, 3, 4, 5)); 3 Iterator<Integer> i
c標籤遍歷取map中list集合中的物件屬性值
今天寫批量列印功能時,後臺傳到前端的資料是map集合,以前沒用過,取值時出現了問題,在這裡記錄一下,備忘和複習時看: 1.前端主要部分如下: <body> <c:forEach var="fee" items="${map[\"EtImportFees\
JS中遍歷EL表示式中的集合
前言:在我的專案裡有這麼一個情況,後臺直接session.setAttribute()儲存了一個物件,此物件內部有一個集合,前端JSP處理的方法正常情況下就是直接使用EL表示式即可。但是如果在JS中需要使用這個集合中的值,那應該怎麼處理呢? 需求:JS中遍歷“${role.modules}” 解決方案: ①正
stl 中怎樣遍歷一個map中的所有元素。請給是例項
兩 種方式iterator遍歷的次數是相同的,但在STL中效率不同,前++--返回引用,後++--返回一個臨時物件,因為iterator是類模板,使 用it++這種形式要返回一個無用的臨時物件,而it++是函式過載,所以編譯器無法對其進行優化,所以每遍歷一個元素,你就建立並銷燬了一個無用的臨
js陣列如何遍歷一次,刪除部分元素
經常做後臺取資料,渲染到頁面工作的前端童鞋可能都碰到過這種需求:那就是如果後臺傳給前端的資料要二次處理,一個數組,其中具有某種共同特徵的元素是我們不需要的,必須要把它刪除掉,這時候怎麼做呢。 常見的思路是:先用map方法遍歷一次,或其它方法遍歷,總之是把要去掉的元素改成
【NetApp】SnapDrive安裝過程中遇到的一些報錯
snapdrive update snapmirror 報錯信息1:Failed to get Data ONTAP version running on the storage system NetApp814b as it is not reachable. Ensure proper netwo
kolla制作過程中:neutron-sfc-agent 報錯的問題
neu non-zero rem 日誌記錄 arch docke ble install per 在使用二進制方式編譯鏡像的時候,neutron的sfc-agent提示如下錯誤ERROR:kolla.image.build:neutron-sfc-agent Failed
React-Native開發過程中遇到的一些報錯以及一些常用命令
1、升級node(對安裝包安裝或者低版本的如6.11.4不生效) 1>檢視node版本,沒安裝的請先安裝; $ node -v 2>清除node快取; $ sudo npm cache clean -f 3>安裝node版本管理工具'n';
Git配置過程中出現的問題,以及解決方案
提示出錯資訊:fatal: remote origin already exists. 解決辦法如下: 1、先輸入$ git remote rm origin
Android Studio專案打包AAR,以及專案中嵌入AAR檔案,過程中出現R檔案報錯的坑
這幾天接到新需求,將ec專案嵌入到公司as總專案中,第一次搞,弄了好久,才搞定,入正題. 首先將ec專案匯入as中,解決各種報錯,比如png圖片,.9圖,以及各種不規範的log,吐死之類的,不細說,這個不難. 將專案遷移到AS中,成功執行,OK,開始打包AAR,打包AAR不
vue v-for 遍歷迴圈時的key值的報錯
一 、問題如下: [Vue warn] Avoid using non-primitive value as key, use string/number value instead. non-pr
ionic android 編譯打包過程中遇到的一些問題及解決方案
操作環境 ionic framework 3.9.2、 cordova (Cordova CLI) 8.1.2、ionic (Io
已經設置utf8的mysql cmd中插入中文執行報錯解決方法
客戶 res img 說明 設置 -1 bsp 插入 gbk 說明cmd客戶端的字符集是gbk,結果集也要設置為gbk。 使用語句 set character_set_client=gbk; set character_set_results=gbk; 就
vuex2中使用mapMutations/mapActions報錯解決方法 BabelLoaderError: SyntaxError: Unexpected token
int cte 使用 gin ets lin ade vue 編譯 在嘗鮮vuex2時,發現vuex2增加了 mapGetters 和 mapActions 的方法,借助stage2的 Object Rest Operator 特性,可以寫出下面代碼:methods: {
vuex2中使用mapGetters/mapActions報錯解決方法
ons read 配置 getter object clas set div ast 解決方案 可以安裝整個stage2的預置器或者安裝 Object Rest Operator 的babel插件 babel-plugin-transform-object-rest-spr
Pytorch中常見的報錯解決方案
本文用於記錄所在pytorch所遇到過的執行時錯誤,持續更新。 變數所在裝置(CPU,GPU)不一致問題 RuntimeError: Input type (torch.cuda.FloatTen
labview中NI_report.lvclass:Save Report to File.vi 模組報錯解決方案
對於此問題本人嘗試了一下兩種方式解決: 一、開始懷疑是RGT工具包出了問題,於是重新安裝RGT工具包。重新安裝步驟如下: 選中圖中所示工具包,單擊刪除按鈕。 二、重新安裝檔案後,發現單獨開啟生成報表的那個子vi可以正常執行,但是開啟專案後此vi報錯。不得以重