Java list利用遍歷進行刪除操作3種方法解析
這篇文章主要介紹了Java list利用遍歷進行刪除操作3種方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
Java三種遍歷如何進行l(wèi)ist的便利刪除:
1、for循環(huán):
常見初五寫法:(由于下標問題達不到想要效果)
for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")) list.remove(i); }
應該改為:(倒序操作避免下標問題)
int size = list.size(); for(int i=size-1;i>=0;i--){ if(list.get(i).equals("del")) list.remove(i); }
2、增強for循環(huán)(foreach循環(huán)):
常見錯誤:(會拋出ConcurrentModificationException)
for(String x:list){ if(x.equals("del")) list.remove(x); }
應改為:
//cowlist為原list CopyOnWriteArrayList<Record> list = new CopyOnWriteArrayList<Record>(cowList); for(String x:list){ if(x.equals("del")) list.remove(x); }
3、iterator遍歷:(注意要是用迭代器的remove方法,不能使用list的remove方法)
Iterator<String> it = list.iterator(); while(it.hasNext()){ String x = it.next(); if(x.equals("del")){ it.remove(); } }
最好使用Iterator遍歷。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringSecurity的TokenStore四種實現方式小結
本文主要介紹了SpringSecurity的TokenStore四種實現方式小結,分別是InMemoryTokenStore,JdbcTokenStore,JwkTokenStore,RedisTokenStore,具有一定的參考價值,感興趣的可以了解一下2024-01-01詳解基于Spring Boot與Spring Data JPA的多數據源配置
本篇文章主要介紹了詳解基于Spring Boot與Spring Data JPA的多數據源配置,非常具有實用價值,需要的朋友可以參考下2017-05-05探索Java中private方法添加@Transactional事務未生效原因
你又遇到過明明給private方法添加了@Transactional但是事務依然沒有生效的情況嗎,具體原因本篇文章將詳細告訴你,有需要的朋友跟著小編往下看吧2021-11-11springboot集成redis并使用redis生成全局唯一索引ID
本文主要介紹了springboot集成redis并使用redis生成全局唯一索引ID,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03