Java list利用遍歷進(jìn)行刪除操作3種方法解析
這篇文章主要介紹了Java list利用遍歷進(jìn)行刪除操作3種方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
Java三種遍歷如何進(jìn)行l(wèi)ist的便利刪除:
1、for循環(huán):
常見(jiàn)初五寫(xiě)法:(由于下標(biāo)問(wèn)題達(dá)不到想要效果)
for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")) list.remove(i); }
應(yīng)該改為:(倒序操作避免下標(biāo)問(wèn)題)
int size = list.size(); for(int i=size-1;i>=0;i--){ if(list.get(i).equals("del")) list.remove(i); }
2、增強(qiáng)for循環(huán)(foreach循環(huán)):
常見(jiàn)錯(cuò)誤:(會(huì)拋出ConcurrentModificationException)
for(String x:list){ if(x.equals("del")) list.remove(x); }
應(yīng)改為:
//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遍歷。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ThreadLocal原理介紹及應(yīng)用場(chǎng)景
本文詳細(xì)講解了ThreadLocal原理介紹及應(yīng)用場(chǎng)景,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12SpringSecurity的TokenStore四種實(shí)現(xiàn)方式小結(jié)
本文主要介紹了SpringSecurity的TokenStore四種實(shí)現(xiàn)方式小結(jié),分別是InMemoryTokenStore,JdbcTokenStore,JwkTokenStore,RedisTokenStore,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01controller層如何同時(shí)接收兩個(gè)實(shí)體類(lèi)
這篇文章主要介紹了controller層如何同時(shí)接收兩個(gè)實(shí)體類(lèi)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11log4j2動(dòng)態(tài)修改日志級(jí)別及拓展性使用詳解
這篇文章主要介紹了log4j2動(dòng)態(tài)修改日志級(jí)別及拓展性使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Mybatis返回Map對(duì)象的實(shí)現(xiàn)
本文介紹了Mybatis和MybatisPlus在查詢(xún)數(shù)據(jù)庫(kù)時(shí)返回Map對(duì)象的多種實(shí)現(xiàn)方式,這些方法有助于優(yōu)化DAO層代碼,使其更加清晰和高效,下面就來(lái)具體介紹一下,感興趣的可以了解一下2024-09-09詳解基于Spring Boot與Spring Data JPA的多數(shù)據(jù)源配置
本篇文章主要介紹了詳解基于Spring Boot與Spring Data JPA的多數(shù)據(jù)源配置,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05探索Java中private方法添加@Transactional事務(wù)未生效原因
你又遇到過(guò)明明給private方法添加了@Transactional但是事務(wù)依然沒(méi)有生效的情況嗎,具體原因本篇文章將詳細(xì)告訴你,有需要的朋友跟著小編往下看吧2021-11-11java如何發(fā)送get請(qǐng)求獲取數(shù)據(jù)(附代碼)
這篇文章主要給大家介紹了關(guān)于java如何發(fā)送get請(qǐng)求獲取數(shù)據(jù)的相關(guān)資料,Java中的GET請(qǐng)求方法是HTTP協(xié)議中的一種請(qǐng)求方式,用于向服務(wù)器請(qǐng)求獲取資源,需要的朋友可以參考下2023-10-10springboot集成redis并使用redis生成全局唯一索引ID
本文主要介紹了springboot集成redis并使用redis生成全局唯一索引ID,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03